矢印キーと入力のナビゲーションを処理KeyboardFocusManager
するオーバーライドされたメソッドがあります。dispatchKeyEvent()
キーが押されている限り、キーイベントを処理する必要があります。残念ながら、EnterKEY_TYPED
キーを押し続けると、キーの場所を含まないイベントが発生します。どのエンターが現在押されているかを調べる方法はありますか? KEY_TYPED
または、イベントを優先して入力のイベントを抑制することはできKEY_PRESSED
ますか?
編集: KeyListeners の代わりに KeyboardFocusManager を使用して実行した理由はわかりませんが、この方法で実行した理由があったことは確かです。現在のところ、これを変更することはできません。問題は、私たちのシステム (古い端末エミュレーター) では、左のエンター キーがナビゲーション キーになっていることです。Enter キーを押すと、現在の行の次のテキスト フィールドにフォーカスが移動します。右側の Enter キーは、ユーザー入力をサーバーに送信するコマンド キーです。