2013-02-24 140 views
0

Java是否支持多键按键以及如何实现?此解决方案根本不起作用:多键盘按下

if (key == KeyEvent.VK_LEFT) { 
    if(key==KeyEvent.VK_S){ 

     dx = -3; 
          } 
    } 
+0

你想要做什么? 'VK_LEFT'!='VK_S',密钥怎么能等于它们两个呢?当两个键同时按下时,你想要执行'dx = -3'吗?或者当任何一个人被按下? – ApproachingDarknessFish 2013-02-24 21:25:21

+0

对不起!这只是一个例子,是的,当两个按钮被按下时,我想执行dx = -3 – 2013-02-26 21:55:16

回答

2

没有这样的内置功能,因此您将不得不自己处理它。例如,收集最后的KEY_PRESSEDKeyEvent s并检查您的组合。当一个密钥被释放时,即KEY_RELEASED,你可以从集合中删除它。

如果你正在寻找的转变,CTRL,ALT或ALT GR有一个简单的解决方案 - 该KeyEvent有方法isShiftDown()isControlDown()isAltDown()isAltGraphDown(),告诉你,如果这些人倒在事件。