【发布时间】:2017-02-16 19:57:44
【问题描述】:
正如标题所说,我想检测多个键盘键同时按下(同时)并在一段时间内被按下(同时)。我正在尝试在 Scene 上添加多个事件处理程序,但它不起作用:
EventHandler<KeyEvent> handler1 = key -> {
//logic1 here
}
EventHandler<KeyEvent> handler2 = key -> {
//logic1 here
}
getScene().addEventHandler(KeyEvent.KEY_PRESSED, handler1);
getScene().addEventHandler(KeyEvent.KEY_PRESSED, handler2);
我为什么要这样做:
我有一些代码,我想根据用户按下的keyboard keys 调整矩形的大小。例如,如果用户按下RIGHT ARROW,矩形将从右侧增加,如果用户按下@ 987654326@矩形从上往下递增。
问题:
但是当用户同时按下 [RIGHT ARROW] 和 [UP ARROW] 并保持按下状态时,上述两个动作必须同时发生,而不仅仅是其中一个。
【问题讨论】:
-
该问题带有 [javafx] 标记,因此不需要在标题中说明。
-
虽然在标题中包含 JavaFX 时它也在标签中有点多余,但考虑到 JavaFX 问题也被标记为 Java 标记时出现的不适当答案的数量,这可能有助于有它。 (显然人们通常不阅读标签......)。
-
@James_D 说得有道理,我只是按照Should questions include “tags” in their titles? 所说的话。
-
@JonnyHenly 也许更好的选择是省略 [java] 标签而只使用 [javafx] 标签....