在keyTyped()方法中如何判断我按了哪个键.
因为我keypress里有对一些按键的操作.但是在keyTyped中也会接受到enter,delete,backspace等按键.
我该如何区别keytyped中取到的是哪个键啊?
我判断getkeyCode()都是0,getKeyChar()打印出来的不知道是什么东西.空的...

解决方案 »

  1.   

    建议在keyReleased()方法中自己添加代码来实现
      

  2.   

    或者用e.getKeyChar();得到的是ascii码,每个按键都有对应的ascii码,查查就知道了
      

  3.   

    比如你按下一个键A
    那么产生的事件顺序为
    keyPressed(VK_A)
    keyTyped("A")
    keyReleased(VK_A)其中,你要捕获按下,释放的事件,你就去重写keyPressed和keyReleased方法。相应的getKeyCode返回的是虚拟键码
    由VK为前缀的,你可以去查所有的虚拟键码。如果你仅需要判断按了那个键,就直接重写keyTyped,对应getKeyCode返回字符。
    比如
    public void keyTyped(keyEvent e){
        if (e.getKeyCode == 'a'){
            //
        }
    }