swing 全局键盘事件处理

最近公司一个模块要求加入键盘事件处理,很直接的我想到了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;
    }
});

你可能感兴趣的:(swing 全局键盘事件处理)