Запретить срабатывание кнопки при нажатии клавиши ввода или пробела Javafx - PullRequest
0 голосов
/ 11 марта 2019

У меня есть кнопка на сцене, которая всякий раз, когда нажимается пробел или клавиша ввода, автоматически запускается.Я хочу, чтобы пользователь мог печатать эти клавиши без нажатия этой кнопки.Я уже пытался сделать root.requestFocus() и вызвать метод фокуса запроса на других узлах в моей сцене.Как я могу предотвратить срабатывание этой кнопки при нажатии этих клавиш.Спасибо за любую помощь.

Редактировать: До сих пор я только что сделал код платформы для работы приложения Javafx, добавил эту кнопку и несколько меток.Я пробовал метод requestFocus () в нескольких узлах моего приложения, ни один из которых не имел значения.У меня также есть прослушиватель событий scene.setOnKeyPressed для нажатых клавиш.

Ответы [ 2 ]

2 голосов
/ 11 марта 2019

Вы пытались добавить фильтр событий для javafx.scene.input.KeyEvent, который потребляет событие ?

0 голосов
/ 11 марта 2019

Вы можете использовать метод button.setFocusTraversable() ( документы ). Это предотвращает автоматическую фокусировку кнопки, например, нажав TAB .

Button button = new Button("Some Action");
button.setFocusTraversable(false);
button.setOnAction(event -> System.out.println("Some action called!"));
...