如何在JavaFX中的特定按键上运行函数?

时间:2015-10-19 21:23:30

标签: java javafx keyboard event-handling

我在javafx中有一个正在运行的程序,我想在键盘上按下特定键时调用该程序中的一个函数(例如,“a”键)。我尝试在我的场景中使用事件处理程序,但KEY_PRESSED似乎在按下任何键时关闭,除非我使用它错了。 KEY_TYPED似乎可能适合我的需要,但我只找到了与文本框相关的那个例子,这不是我想要的。有谁知道如何做到这一点,或有一个很好的资源,我可以咨询这样的事情

2 个答案:

答案 0 :(得分:9)

只需检查按下的键的代码:

scene.setOnKeyPressed(e -> {
    if (e.getCode() == KeyCode.A) {
        System.out.println("A key was pressed");
    }
});

答案 1 :(得分:2)

使用事件过滤器和您需要的keyevent,我在这里使用ANY

        scene.addEventFilter(KeyEvent.ANY, keyEvent -> {
            System.out.println(keyEvent);
        });