keyPressed:键盘按下,未释放
keyTyped:键盘按下,然后释放。就是敲击的意思吧

解决方案 »

  1.   

    是不是他们getKeyCode这个方法的返回值也不一样
      

  2.   

    API原文:
    对于按下键和释放键事件,getKeyCode 方法返回该事件的 keyCode。对于键入键事件,getKeyCode 方法总是返回 VK_UNDEFINED。所以键入键事件只能靠 getKeyChar 来区分了
      

  3.   

    打印出来就知道了。应该是一样的。都是调用KeyEvent的方法。
      

  4.   

    如果不想用keyPressed和 keyReleased,就重写方法,不放东西进去。
    怕他调用父类的方法。
      

  5.   

    API:
    例如,按下 Shift 键会生成 keyCode 为 VK_SHIFT 的 KEY_PRESSED 事件,而按下 'a' 键将生成 keyCode 为 VK_A 的 KEY_PRESSED 事件。释放 'a' 键后,会激发 keyCode 为 VK_A 的 KEY_RELEASED 事件。另外,还会生成一个 keyChar 值为 'A' 的 KEY_TYPED 事件。