2
Tab
には、ScrollBar
などがあります。JavaFX TabPane無効化タブによるキー切り替え
ScrollBar
は、キーのイベントハンドラを持っている:はを左と右の。
しかし、TabPane
にもキーハンドラがあるので、これらのボタンを押すとTabs
が切り替わります。
TabPane
のデフォルトイベントハンドラを無効にする方法、または切り替えポリシーを変更する方法はありますか。
Tab
には、ScrollBar
などがあります。JavaFX TabPane無効化タブによるキー切り替え
ScrollBar
は、キーのイベントハンドラを持っている:はを左と右の。
しかし、TabPane
にもキーハンドラがあるので、これらのボタンを押すとTabs
が切り替わります。
TabPane
のデフォルトイベントハンドラを無効にする方法、または切り替えポリシーを変更する方法はありますか。
問題はScrollBar
がデフォルトでfocus traversableではなく、キーイベントがフォーカスされたNode
にのみ発生することです。
あなたはScrollBar
フォーカス一筆設定することができます。この場合
sb.setFocusTraversable(true);
sb.setOnKeyPressed(e -> {
if (e.getCode().equals(KeyCode.RIGHT))
sb.setValue(sb.getValue()+0.01);
else if(e.getCode().equals(KeyCode.LEFT))
sb.setValue(sb.getValue()-0.01);
});
をScrollBar
がフォーカスされるたびに、キーイベントが処理されます。