Java KeyListener引发了错误的事件
我编写了一个简单的KeyListener来识别Arrow_左/右事件。 由于某种原因,我的左键触发了1个VK_左按和1个VK_右事件(右箭头正常工作) 这一定是硬件/键盘问题(箭头键工作正常)还是知道如何解决Java KeyListener引发了错误的事件,java,keylistener,keyevent,Java,Keylistener,Keyevent,我编写了一个简单的KeyListener来识别Arrow_左/右事件。 由于某种原因,我的左键触发了1个VK_左按和1个VK_右事件(右箭头正常工作) 这一定是硬件/键盘问题(箭头键工作正常)还是知道如何解决 public void keyPressed(KeyEvent e) { switch(e.getKeyCode()) { case KeyEvent.VK_LEFT: { //left
public void keyPressed(KeyEvent e) {
switch(e.getKeyCode()) {
case KeyEvent.VK_LEFT: {
//left
System.out.println("leftPressed");
keyLeftPressed = true;
}
case KeyEvent.VK_RIGHT: {
//right
System.out.println("rightPressed");
keyRightPressed = true;
}
}
}
左键单击的控制台输出为:
左撇子
右压
单击鼠标右键:
右键按下您忘记了case语句中的break语句。如果你没有破案,下一个案子将被执行
public void keyPressed(KeyEvent e) {
switch(e.getKeyCode()) {
case KeyEvent.VK_LEFT: {
//left
System.out.println("leftPressed");
keyLeftPressed = true;
break;
}
case KeyEvent.VK_RIGHT: {
//right
System.out.println("rightPressed");
keyRightPressed = true;
break;
}
}
}
你用错了开关盒。括号不是必需的,但必须添加break语句
public void keyPressed(KeyEvent e) {
switch(e.getKeyCode()) {
case KeyEvent.VK_LEFT:
//left
System.out.println("leftPressed");
keyLeftPressed = true;
break;
case KeyEvent.VK_RIGHT:
//right
System.out.println("rightPressed");
keyRightPressed = true;
break;
}
}