全局键盘监听事件需要注册的吧
[code="java"]
class ImplAWTEventListener implements AWTEventListener {
@Override
public void eventDispatched(AWTEvent event) {
if (event.getClass() == KeyEvent.class) {
// 被处理的事件是键盘事件.
KeyEvent keyEvent = (KeyEvent) event;
if (keyEvent.getID() == KeyEvent.KEY_PRESSED) {
//按下时你要做的事情
keyPressed(keyEvent);
} else if (keyEvent.getID() == KeyEvent.KEY_RELEASED) {
//放开时你要做的事情
keyReleased(keyEvent);
}
}
}
private void mousePressed(MouseEvent event) {}
private void keyReleased(KeyEvent event) {}
}
[/code]
你的窗口类中可以这样添加,可以在初始化UI组件方法中或写在构造函数中
[code="java"]
Toolkit tk = Toolkit.getDefaultToolkit();
tk.addAWTEventListener(new ImplAWTEventListener(), AWTEvent.KEY_EVENT_MASK);
[/code]