返回介绍

java.awt 接口 KeyEventDispatcher

发布于 2019-10-04 09:49:56 字数 2614 浏览 907 评论 0 收藏 0

所有已知实现类:
DefaultKeyboardFocusManager, KeyboardFocusManager

public interface KeyEventDispatcher

在指派所有 KeyEvent 和为其确定目标时,KeyEventDispatcher 和当前 KeyboardFocusManager 一起使用。在当前 KeyboardFocusManager 中注册的 KeyEventDispatcher 在 KeyEvent 被指派到目标前接收它们,允许每个 KeyEventDispatcher 重定向事件,使用它,指派事件本身,或者进行其他更改。

注意,KeyboardFocusManager 本身即可实现 KeyEventDispatcher。默认情况下,当前 KeyboardFocusManager 是已注册 KeyEventDispatcher 未指派的所有 KeyEvent 的接受器。无法将当前 KeyboardFocusManager 作为 KeyEventDispatcher 完全注销。但是,如果 KeyEventDispatcher 报告指派了 KeyEvent,则不管是否实际指派了,KeyboardFocusManager 都将不对 KeyEvent 进行进一步的操作。(尽管客户端代码将当前的 KeyboardFocusManager 一次或多次注册为 KeyEventDispatcher 是可能的,但通常不必要也不建议这样做。)

从以下版本开始:
1.4
另请参见:
KeyboardFocusManager.addKeyEventDispatcher(java.awt.KeyEventDispatcher) , KeyboardFocusManager.removeKeyEventDispatcher(java.awt.KeyEventDispatcher)

方法摘要
booleandispatchKeyEvent(KeyEvente)

当前 KeyboardFocusManager 调用此方法,请求此 KeyEventDispatcher 为其指派指定的事件。

方法详细信息

dispatchKeyEvent

boolean dispatchKeyEvent(KeyEvente)
当前 KeyboardFocusManager 调用此方法,请求此 KeyEventDispatcher 为其指派指定的事件。此 KeyEventDispatcher 可以随意重定向事件,使用它,指派它本身,或者进行其他更改。通常使用此功能将 KeyEvent 传递给 Component 而不是焦点所有者。例如,可以使用此功能在可访问环境中导航不可聚焦 Window 的子级。注意,如果 KeyEventDispatcher 指派 KeyEvent 本身,则其必须使用 redispatchEvent 来防止当前 KeyboardFocusManager 递归式请求此 KeyEventDispatcher 再次指派事件。

如果此方法的实现返回 false ,则将 KeyEvent 传入链中的下一个 KeyEventDispatcher,以当前的 KeyboardFocusManager 结尾。如果实现返回 true ,则假定已经指派了该 KeyEvent(尽管事实不一定如此),当前 KeyboardFocusManager 将不对该 KeyEvent 进行任何进一步的操作。在此情况下, KeyboardFocusManager.dispatchEvent 也应该返回 true 。如果实现使用 KeyEvent,但是返回 false ,则仍将所使用的事件传入链中的下一个 KeyEventDispatcher。开发人员在将 KeyEvent 指派到目标前首先检查它是否已使用至关重要。默认情况下,当前 KeyboardFocusManager 不指派使用的 KeyEvent。

参数:
e - 要指派的 KeyEvent
返回:
如果 KeyboardFocusManager 不应对该 KeyEvent 进行进一步操作,则返回 true ;否则,返回 false
另请参见:
KeyboardFocusManager.redispatchEvent(java.awt.Component, java.awt.AWTEvent)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文