KeyTypedEvent 的 KeyEvent 的 KeyCode 始终为 0?
我在NetBeans IDE中有一个Java Swing应用程序。
我制作了一个窗体,并将 KeyListener 附加到我的各种控件中,如下所示:
jButton1.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
keyTypedEvent(evt);
}
});
并定义如下:keyTypedEvent
private void keyTypedEvent(java.awt.event.KeyEvent evt)
{
System.out.println(evt);
appendDisplay(String.valueOf(evt.getKeyChar()));
}
我向 添加了 一个,以查看会发生什么情况并验证我的键列表器是否正常工作。当我构建并运行我的应用程序时,我意识到输出似乎总是有一个println
evt
keycode = 0
为了验证这一点,我已将println更改为,并且它始终返回0。evt.getKeyCode()
我可能完全误解了KeyCode的作用,但我认为它会与Oracle文档中的值相吻合:
http://docs.oracle.com/javase/7/docs/api/constant-values.html#java.awt.event.KeyEvent.VK_ESCAPE
例如,VK_ESCAPE的值为 27。