This method is called by the current KeyboardFocusManager, requesting that this KeyEventPostProcessor perform any necessary post-processing which should be part of the KeyEvent's final resolution. At the time this method is invoked, typically the KeyEvent has already been dispatched to and handled by its target. However, if no Component in the application currently owns the focus, then the KeyEvent has not been dispatched to any Component. Typically, KeyEvent post-processing will be used to implement features which require global KeyEvent post-handling, such as menu shortcuts. Note that if a KeyEventPostProcessor wishes to dispatch the KeyEvent, it must use
redispatchEvent
to prevent the AWT from recursively requesting that this KeyEventPostProcessor perform post-processing of the event again.
If an implementation of this method returns false
, then the KeyEvent is passed to the next KeyEventPostProcessor in the chain, ending with the current KeyboardFocusManager. If an implementation returns true
, the KeyEvent is assumed to have been fully handled (although this need not be the case), and the AWT will take no further action with regard to the KeyEvent. If an implementation consumes the KeyEvent but returns false
, the consumed event will still be passed to the next KeyEventPostProcessor in the chain. It is important for developers to check whether the KeyEvent has been consumed before performing any post-processing of the KeyEvent. By default, the current KeyboardFocusManager will perform no post- processing in response to a consumed KeyEvent.