スクリーン操作を行うJavaターミナルアプリケーションを作成したいと思います。* nix/Cの世界でcursesのようにスクリーンを操作できる優れたライブラリはありますか?
私が探している最小限の機能は、ウィンドウ処理とユーザー入力のサポートです。
機能的には、一部のデータが定期的に更新され、同時にユーザーが画面の他の部分にコマンド/テキストを入力できる端末の領域が必要です。
Charva があります。これはネイティブコードにリンクしますが、Swingに基づいたAPIがあります。 screenshots は多くのテキストウィンドウを表示するため、便利に見えます。
lanterna ライブラリを最近見つけました。まだ使用する機会はありませんが、他のものに代わる最新の選択肢のようです。
自分では使用していませんが、 Java Curses Library はあなたが望むもののようです。
ここ は、JNIを使用してncurses libを呼び出す方法です。私はこれをテストし、動作します。
2013年の時点で、私が見つけることができる最も近いものは Blacken です。
Blackenは、それ自体がcursesライブラリーではありません。端末から遠ざかり、代わりに、独自の「コンソールウィンドウ」をレンダリングします。これには、「コンソールのように」見えないという欠点があります。代わりに、完全な(任意の)カラーサポート、および(メインAPIに加えて)cursesのようなAPIを取得します。
固定幅文字の場合、フォントをMono
に設定することもできます。