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