我在Java中实现了一个Keylistener,它基本上可以工作,但是如果我按下一个键,似乎所有的KeyEvent都被“堆叠”并一个接一个地执行。通常,我想要这种行为,但由于调用Key事件的方法需要一些计算时间,我想“阻止”Keylistener接受事件,同时已经执行了从前一个KeyEvent调用的方法。 我已经尝试在KeyListener中设置一个bool标志,但是它没有用,因为看起来Keylisteners方法在完全执行前一个KeyEvent之后被调用。 任何想法如何实现这一目标?谢谢!
编辑:以下是我尝试不成功的代码段:
@Override
public void keyPressed(KeyEvent e) {
frame.removeMouseListener(this);
switch (e.getKeyCode())
{
case KeyEvent.VK_RIGHT:
case KeyEvent.VK_DOWN:
case KeyEvent.VK_PAGE_DOWN: frame.myMethod(); break;
case KeyEvent.VK_MINUS:
case KeyEvent.VK_SUBTRACT: frame.myOtherMethod(); break;
}
frame.addMouseListener(this);
}
答案 0 :(得分:0)
任何想法如何实现这一目标?
在KeyListener中: