e636. Listening to All Key Events Before Delivery to Focused Component

Registering a key event dispatcher with the keyboard focus manager allows you to see all key events before they are sent to the focused component. It is possible to modify the event or even prevent the event from being delivered.

    KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(
        new KeyEventDispatcher() {
            public boolean dispatchKeyEvent(KeyEvent e) {
                // This example converts all typed keys to upper case
                if (e.getID() == KeyEvent.KEY_TYPED) {
                    e.setKeyChar(Character.toUpperCase(e.getKeyChar()));
                }
    
                // If the key should not be dispatched to the
                // focused component, set discardEvent to true
                boolean discardEvent = false;
                return discardEvent;
            }
        });

 

Related Examples
posted @ 2018-09-06 08:28  borter  阅读(210)  评论(0编辑  收藏  举报