我使用 MenuItem.setAccelerator() 向主菜单添加了一些加速器。只是基本的东西,比如 ctrl-c 用于复制等。
这工作正常。但该应用程序有点像 IDE,它有几个包含 JTables 的面板。如果表格单元格有焦点,它会吸收加速键,这意味着主菜单永远看不到它。
显然,如果可编辑表格单元格处于 Activity 状态,我希望剪切和粘贴键能够正常运行,但在其他任何情况下,我都希望主菜单能够响应。
有什么想法吗?
最佳答案
KeyStrokes 转到首先获得焦点的组件。由于 JTable 将 Ctrl+C 绑定(bind)到 Action,因此会调用该操作。
如果您不喜欢表的默认操作,则需要从表中删除绑定(bind)。
阅读 How to Use Key Bindings 上的 Swing 教程部分.它向您展示了如何删除绑定(bind)。
关于java - 将加速键击键传递给 Java 中的主菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5009764/