Java如何调度KeyEvent?

Java如何调度KeyEvent?,第1张

Java如何调度KeyEvent?

我们需要从Component.dispatchEventImpl开始调试。
只需阅读该方法的源注释,就可以对事件在Swing中的流动方式有一个完美的了解(您也可以从EventQueue.pumpEventsForHeirarchy开始上一层)。

为了清楚起见,让我从代码中摘录:

  1. 设置当前事件的时间戳和修饰符。预调度员。在通知AWTEventListener之前,请在此处进行任何必要的重新定位/重新排序。
  2. 允许工具包将此事件传递给AWTEventListeners。
  3. 如果没有人消耗过按键事件,请让KeyboardFocusManager处理它。
  4. 允许输入法处理事件
  5. 交货前对任何特殊事件进行预处理
  6. 传送事件以进行正常处理
  7. 4061116的特殊处理:钩住浏览器以关闭模式对话框。
  8. 允许对等方处理事件。除KeyEvent外,它们将在所有KeyEventPostProcessor之后由对等方处理(请参见DefaultKeyboardFocusManager.dispatchKeyEvent())。

现在,您可以将上述流程与您的描述进行匹配,以确定其正确与否。但是关键是您实际上不应该依赖私有类的javadocs,原因是开发人员通常不关心代码更改时更新私有类的注释,因此文档可能会过时。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5601550.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存