Окно выбора/раскрывающийся список Javafx теряет фокус на стрелке вниз на клавиатуре и переходит к следующему элементу

В приложении JavaFX у меня есть два текстовых поля и три поля выбора на экране. Все они расположены вертикально.

При навигации по клавиатуре TAB, когда фокус достигает первого поля выбора, если я нажимаю стрелку вниз на клавиатуре, то вместо открытия элементов для этого поля выбора фокус перемещается на следующее поле выбора и отображает элементы из него.

Я попытался вручную переопределить это, создав метод события нажатия клавиши в первом поле выбора, но фокус по-прежнему перемещается в следующее поле выбора.

Любое решение?


person SarkarG    schedule 23.10.2012    source источник


Ответы (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();
        }
    }
});
person amru    schedule 23.10.2012
comment
Добавлен фильтр addEventFilter в сцену. Отлично работает сейчас. Спасибо. - person SarkarG; 25.10.2012