java - 应用程序范围的键盘快捷键 - Java Swing

标签 java swing shortcut keystroke

我想为 Java Swing 应用程序创建一个应用程序范围的键盘快捷键。 循环遍历所有组件并在每个组件上添加快捷方式,具有焦点相关的副作用,并且似乎是一种蛮力解决方案。

谁有更清洁的解决方案?

最佳答案

对于每个窗口,使用 JComponent.registerKeyboardAction 条件为 WHEN_IN_FOCUSED_WINDOW。或者使用:

JComponent.getInputMap(WHEN_IN_FOCUSED_WINDOW).put(keyStroke, command);
JComponent.getActionMap().put(command,action);

registerKeyboardAction API docs 中所述.

关于java - 应用程序范围的键盘快捷键 - Java Swing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/100123/

相关文章:

visual-studio-2008 - 打开 Resharper 的快捷方式

ios - iOS 上的地理定位 API 处理快捷方式

Java:for循环不会使队列中的每个元素出队

CSS快捷类

java - 重新加载 xml 文件后重新加载 GUI

java - JTable 不会跨越 JFrame 的边界

java - 编辑单元格时刷新行

java - 使用 AutoCompleteDecorator 自动完成和编辑 JTextField

java - 特定子项目的主项目中的 Gradle 排除插件

java - 如何从Map中随机读取一对直到它为空(Java)