JLine (または JLine2) を使用して、 に呼び出しを発行readline
しConsoleReader
、標準のプロンプトに加えて、選択した文字列をバッファーに事前に入力することはできますか?
私はやろうとしました、例えば:
reader.getCursorBuffer().write("Default");
reader.readLine("Prompt> ");
これは確かにバッファに書き込んでいるように見えますが、この行はプロンプトを表示するだけです。Enter キーを押すと、期待どおりにreadLine
戻ります。"Default"
画面をクリアすると、バッファが再描画され、正しく表示されます。
私の理解では、 へreader.redrawLine()
の呼び出しの直後に何らかの方法で呼び出す必要がありますreadLine
。ただし、この最後のスレッドはブロックしているため、難しくなっています (不可能ではありませんが、そのために 2 番目のスレッドを使用するのは間違いなく間違っていると感じています)。