1

JavaFXアプリケーションでは、画面上に2つのテキストボックスと3つの選択ボックスがあります。それらはすべて垂直に配置されます。

フォーカスが最初の選択ボックスに達したときにキーボードTABでナビゲートするときに、キーボードの下矢印をクリックすると、その選択ボックスのアイテムを開く代わりに、フォーカスが次の選択ボックスに移動し、そこからアイテムが表示されます。

最初の選択ボックスにkeypressイベントメソッドを作成してこれを手動でオーバーライドしようとしましたが、フォーカスは次の選択ボックスに移動します。

解決策はありますか?

4

1 に答える 1

1

これらのコントロールを含む親コンポーネントにイベントフィルターを配置します。

/**
* prevent move focus on pressing UP/DOWN
*/
pnlRadioButton.addEventFilter(KeyEvent.KEY_PRESSED, new EventHandler<KeyEvent>() {
    @Override
    public void handle(KeyEvent event) {
        if (event.getCode() == KeyCode.UP || event.getCode() == KeyCode.DOWN) {
            event.consume();
        }
    }
});
于 2012-10-23T11:39:02.897 に答える