我需要在不使用基于事件的方法的情况下检查键的状态(是否被按下)。存储关键状态不起作用;我需要检查密钥的实时状态。谁知道怎么样?平台是JCreator v5.0 LE
答案 0 :(得分:3)
我没有看到确切的意义,看到{<1}},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];
}
的情况下向计算机询问密钥的状态。也许有关您需要“实时”状态的更多信息将为您提供更好的答案。