最近公司一个模块要求加入键盘事件处理,很直接的我想到了KeyListener,但是很遗憾,它必须要焦点在那个控件上的时候,才能响应事件,只能google了,最终让我找到了一个全局的键盘处理方法,发出来望对有这方面需求的人有帮助。
关键代码如下():
KeyboardFocusManager manager = KeyboardFocusManager.getCurrentKeyboardFocusManager();
manager.addKeyEventPostProcessor(new KeyEventPostProcessor() {
public boolean postProcessKeyEvent(KeyEvent event) {
if (event.getID() != KeyEvent.KEY_PRESSED) {
return false;
}
if (curPane != null) {
curPane.keyPressed(event);
return true;
}
return false;
}
});