我在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()));
}
我在evt
中加入了一个println
以查看发生了什么并验证我的按键监听器的功能。
当我构建和运行应用程序时,我意识到输出似乎总是有keycode = 0
。
为了验证这一点,我将我的println更改为evt.getKeyCode()
,并且它总是返回0。
我可能完全误解了KeyCode的作用,但我认为它应该与Oracle文档中的值相对应:http://docs.oracle.com/javase/7/docs/api/constant-values.html#java.awt.event.KeyEvent.VK_ESCAPE。例如,VK_ESCAPE的值为27。