我有一个实现KeyListener的KeyHandler类。除了左右箭头键之外,所有键都正常工作,这些键注册为按下但从未释放(向上和向下箭头工作,与所有其他键一样)。密钥监听器被添加到JFrame上的Canvas。
public class KeyHandler implements KeyListener {
public void keyPressed(KeyEvent e) {
System.out.println("Pressed");
}
public void keyReleased(KeyEvent e) {
System.out.println("Released");
}
public void keyTyped(KeyEvent e) {}
}
这种行为有原因吗?
答案 0 :(得分:1)
java api的片段 - Keyevent:
Not all keyboards or systems are capable of generating all virtual key codes. No attempt is made in Java to generate these keys artificially.
因此,从Java端来看,它仍然是定义的行为。但是从我的逻辑感觉来看,我也不能给你上/下和左/右箭头键之间的任何区别。 就在我们遵循API定义的时候。它似乎与系统有关。