2015-07-13 108 views
0

我有一个实现KeyListener的KeyHandler类。所有按键都在工作,除了左侧和右侧箭头按键,按下按键但没有按下按键(上下箭头起作用,与其他所有按键一样)。关键侦听器被添加到JFrame上的Canvas。Java KeyListener的keyReleased没有调用左右箭头键

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

从片段的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定义。它似乎是依赖于系统的。

相关问题