Как проверить, не работает ли ключ без прослушивателя в JavaFX? - PullRequest
0 голосов
/ 28 августа 2018

Можно ли просто проверить, нажата ли в данный момент клавиша в JavaFX, не прослушивая KeyEvent? В моем случае я хочу проверить, нажата ли клавиша во время нажатия кнопки.

button.setOnAction(e -> {
    // This is where I want to check if a specific key is currently down.
    if(keyIsDown) {
        // do something
    } else {
        // do something else
    }
});

Я могу придумать пару обходных путей. Мне просто интересно, есть ли правильный способ сделать это.

1 Ответ

0 голосов
/ 28 августа 2018

Вот, пожалуйста, этот код работает со мной, как брелок, когда я нажимаю любую кнопку на клавиатуре, а затем нажимаю кнопку печати клавиш вниз

    SimpleBooleanProperty simpleBooleanProperty = new SimpleBooleanProperty();

    scene.setOnKeyPressed(new EventHandler<KeyEvent>() {
        @Override
        public void handle(KeyEvent event) {
            simpleBooleanProperty.setValue(true);
        }
    });

    scene.setOnKeyReleased(new EventHandler<KeyEvent>() {
        @Override
        public void handle(KeyEvent event) {
            simpleBooleanProperty.setValue(false);
        }
    });


    done.setOnMouseClicked(new EventHandler<MouseEvent>() {
        @Override
        public void handle(MouseEvent event) {
            if(simpleBooleanProperty.get()){
                System.out.println("Key Down");
            }else { //key released
                System.out.println("Key Up");
            }
        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...