提问者:小点点

JavaKeyListener的键释放不调用左和右箭头键


我有一个实现KeyListener的KeyHandler类。除了注册为按下但从未释放的左右箭头键之外,所有键都在工作(向上和向下箭头工作,就像所有其他键一样)。键侦听器被添加到JFrame上的画布中。

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) {}

}

这种行为有什么原因吗?


共1个答案

匿名用户

javaapi的片段-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的定义。这似乎取决于系统。