java - SWT:Composite 上的 addFilter 或 addKeyListener

标签 java events swt keyboard-shortcuts listener

我想要一些复合范围的键盘快捷键。有问题的复合 Material 位于选项卡文件夹中。我有一个小函数,它遍历我的组合的所有子项并为每个子项添加一个 KeyboardAdapter。

我遇到的问题是,当我打开其中一个选项卡时,按下的键没有注册。我首先将焦点设置在选项卡中的一些可选小部件上,然后它就可以工作了。当我切换到另一个选项卡然后返回时,焦点仍然在那里(例如,灰色选择而不是表格中的蓝色选择),但它再次不起作用,直到我点击某个地方。

我该怎么做?我考虑过在我的显示中添加一个过滤器,但我只想要某个组合中的事件(以及其中的所有内容)。

谢谢

最佳答案

键事件被传送到具有键盘焦点的组件。复合 Material 不会获得键盘焦点,通常是它们的子组件之一获得键盘焦点,然后它们开始接收键事件(以防 child 不使用它们)。在父 Shell 上设置关键监听器可能会起作用。

关于java - SWT:Composite 上的 addFilter 或 addKeyListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7570919/

相关文章:

Java从ArrayList中获取子内容

java - @AfterThrowing 在 Spring 中的不同行为

java - 如何使用按钮单击android中的警报框发送短信

java - 如何修复 Android 应用程序在 Flask 服务器上上传文件时的 400 错误

events - Tcl 中的事件循环

jquery选择多个onchange选择和取消选择选项(在ipad上)

java - 您可以禁用 jface 向导中的取消按钮吗?

java - 如何使用 SWT 创建带有按钮的单元格?

java - Infinispan 8.1 Java 版本——文档与现实

javascript - 仅当窗口关闭时才触发 onbeforeunload (包括工作示例)