@FunctionalInterface public interface KeyEventPostProcessor
请注意,KeyboardFocusManager本身实现了KeyEventPostProcessor。 默认情况下,当前的KeyboardFocusManager将是链中最终的KeyEventPostProcessor。 当前的KeyboardFocusManager不能被完全注销为KeyEventPostProcessor。 但是,如果KeyEventPostProcessor报告不需要对KeyEvent进行进一步的后处理,则AWT将会考虑事件的完全处理,并且不会对事件采取任何其他操作。 (虽然客户端代码可以将当前的KeyboardFocusManager注册为KeyEventPostProcessor一次或多次,但这通常是不需要的,不推荐使用。)
Modifier and Type | Method and Description |
---|---|
boolean |
postProcessKeyEvent(KeyEvent e)
该方法由当前的KeyboardFocusManager调用,请求该KeyEventPostProcessor执行任何必要的后处理,该后处理应该是KeyEvent的最终解决方案的一部分。
|
boolean postProcessKeyEvent(KeyEvent e)
redispatchEvent
来防止AWT递归地请求该KeyEventPostProcessor再次执行事件的后处理。
如果此方法的实现返回false
,则将KeyEvent传递给链中的下一个KeyEventPostProcessor,以当前的KeyboardFocusManager结尾。 如果一个实现返回true
,则KeyEvent被假设已被完全处理(尽管不需要这样),并且对于KeyEvent而言,AWT将不再采取任何行动。 如果一个实现消耗了KeyEvent,但返回false
,那么消耗的事件仍将被传递给链中的下一个KeyEventPostProcessor。 在执行任何后处理KeyEvent之前,开发人员必须检查KeyEvent是否已被使用。 默认情况下,当前的KeyboardFocusManager将不执行后处理以响应消耗的KeyEvent。
e
- 后期处理的KeyEvent
true
如果AWT对KeyEvent不应采取进一步行动;
false
否则
KeyboardFocusManager.redispatchEvent(java.awt.Component, java.awt.AWTEvent)