我正在创建一个使用keylistener的Java应用程序。我注意到当用户按住键时使用按键监听器时,它会注册,然后再花一秒时间来检测该按键。有没有办法摆脱这个短暂的延迟?java keypress操作中的修复延迟问题
public void keyPressed(KeyEvent arg0)
{
char key = arg0.getKeyChar();
if(key == 'a')
update = Status.Left;
else if(key == 's')
update = Status.Crouch;
else if(key == 'd')
update = Status.Right;
else if(key == ' ')
update = Status.Shoot;
else
update = Status.None;
System.out.println(arg0.getKeyChar());
this.repaint();
}
只需双重检查 - 这是AWT应用程序而不是Swing应用程序,对吗?因为如果使用Swing,我会有一个解决方案 - 使用Swing Timer和键绑定。 – 2012-01-29 05:22:06
我正在使用swing – 2012-01-29 06:46:18
@DazSlayer:KeyEvent适用于awt而不是Swing。 Swing有[KeyBinding](http://docs.oracle.com/javase/tutorial/uiswing/misc/keybinding.html)。也请阅读一些关于他们的内容。他们比KeyEvent更合适。问候 – 2012-01-29 08:11:47