【问题标题】:How do I run a function on a specific key press in JavaFX?如何在 JavaFX 中的特定按键上运行函数?
【发布时间】:2015-10-19 21:23:30
【问题描述】:
我在 javafx 中有一个正在运行的程序,我想在按下键盘上的特定键(例如,“a”键)时调用该程序中的一个函数。我尝试在我的场景中使用事件处理程序,但 KEY_PRESSED 似乎在按下任何键时都会关闭,除非我使用错误。 KEY_TYPED 似乎它可能适合我的需要,但我只找到了与文本框相关的示例,这不是我想要的。有谁知道如何做到这一点,或者有一个很好的资源我可以咨询这样的事情
【问题讨论】:
标签:
java
javafx
keyboard
event-handling
【解决方案1】:
只需检查按下的键的代码:
scene.setOnKeyPressed(e -> {
if (e.getCode() == KeyCode.A) {
System.out.println("A key was pressed");
}
});
【解决方案2】:
使用事件过滤器和任何你需要的keyevent,这里我使用ANY:
scene.addEventFilter(KeyEvent.ANY, keyEvent -> {
System.out.println(keyEvent);
});