Java Curses には特定のキーストローク認識方法がいくつかありますが、単一の機能のために外部ライブラリに縛られるのは最善の解決策ではないかもしれません。
KeyListener
端末スタイルの Swing アプリケーションを作成し、 を使用してキーストローク イベントを検出することで、目的を達成できます。ただし、MadProgrammer は、「esc をメソッドで停止させる方法」で、そのようなソリューションには「フォーカスの問題」がある可能性があると述べています。
したがって、特定のキーストロークをトレースしたい場合、またはさまざまなユーザー入力に基づいてプログラムの動作に影響を与えたい場合は、Swing の一部として実装されているキー バインドを使用することをお勧めします。
例えば
component.getInputMap(WHEN_IN_FOCUSED_WINDOW).put
(KeyStroke.getKeyStroke("F1"),"actionName");
component.getActionMap().put("actionName", yourAction);
component は任意のJComponent
オブジェクト (おそらく端末ディスプレイ) であり、yourAction
任意の Swing アクションです。getInputMap()
「コンソール」アプリケーションでは、ここに示されているようにパラメーター化された形式を使用することをお勧めします。これは、ユーザーが必ずトップ レベル ウィンドウ内でキーストロークを行うため、コンポーネント フォーカスが無関係であるためです。