我有一个菜单项“重命名”,将 F2 设置为加速器。实际上,当菜单显示时,“重命名”旁边有一个小的“F2”指示。
可悲的是,这不起作用。此加速器不触发任何响应。当我将加速器更改为 CTRL+F2 时 - 它可以工作。
看来我应该使用 InpoutMpa/ActionMap。问题是我希望它在应用程序中的任何地方都可以工作,所以我试图将它与顶级 JFrame 相关联。但是,JFrame 没有 getInputMap() 方法。
丢失的。
[添加]
ks = KeyStroke.getKeyStroke(KeyEvent.VK_F2, 0);
JMenuItem mi = new JMenuItem("Rename");
mi.setAccelerator(ks);
mi.addActionListener(action);