KeyEvent仅针对最后按下的键生成,因此您需要在按下键时保持跟踪(例如,通过将其添加到HashMap),然后在keyReleased上需要从HashMap中删除键。
更好的方法是使用Key Bindings
(而不是KeyListener)将绑定Keystroke
到Action
。
查看KeyboardAnimation
在使用键盘运动中找到的示例。它解释了有关键绑定的更多信息,并提供了处理上/下/右/左键的完整工作示例。通常,可以同时按住任意两个键以进行对角线运动。
Java KeyPressed-如果其他键也太旧,则无法检测是否按下了空格键
KeyEvent仅针对最后按下的键生成,因此您需要在按下键时保持跟踪(例如,通过将其添加到HashMap),然后在keyReleased上需要从HashMap中删除键。
更好的方法是使用Key Bindings
(而不是KeyListener)将绑定Keystroke
到Action
。
查看KeyboardAnimation
在使用键盘运动中找到的示例。它解释了有关键绑定的更多信息,并提供了处理上/下/右/左键的完整工作示例。通常,可以同时按住任意两个键以进行对角线运动。