4

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

4

1 回答 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 回答