在没有keyPressed / Released事件的情况下检查键的状态

时间:2012-10-22 18:12:34

标签: java keyboard key keyboard-events jcreator

我需要在不使用基于事件的方法的情况下检查键的状态(是否被按下)。存储关键状态不起作用;我需要检查密钥的实时状态。谁知道怎么样?平台是JCreator v5.0 LE

1 个答案:

答案 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]; } 的情况下向计算机询问密钥的状态。也许有关您需要“实时”状态的更多信息将为您提供更好的答案。