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