我需要在不使用基于事件的方法的情况下检查一个键的状态(无论它是否被按下)。存储关键状态不起作用;我需要检查密钥的实时状态。有人知道怎么做吗?平台为 JCreator v5.0 LE
问问题
2789 次
1 回答
3
我不明白这一点,看看无论何时按下任何键,如何调用 , 和 ,都keyPressed()
不会keyReleased()
失败。keyTyped()
您还说存储状态不起作用。你有没有尝试过这样的事情?
boolean[] keys = new boolean[222]; // 222 is the highest keyCode value i know
public void keyPressed(KeyEvent e) { keys[e.getKeyCode()] = true; }
public void keyReleased(KeyEvent e) { keys[e.getKeyCode()] = false; }
// True is pressed, False is released
public boolean getState(int keyCode) {
return keys[keyCode];
}
这确实是检查一个键的“实时”状态的最合理的方法。您不能只向计算机询问密钥的状态而不使用Listener
. 也许有关您需要“实时”状态的更多信息将为您提供更好的答案。
于 2012-10-22T18:24:46.903 回答