I have a menu item, "rename", for which F2 is set as an accelerator. Indeed when the menu is displayed there a little "F2" indication next to "rename".
Sadly, this does not work. This accelerator triggers no response. When I change the accelerator to CTRL+F2 - it works.
It seems that I should use an InpoutMpa/ActionMap. The problem with that is that I want this to work everywhere in the app so I am trying to associate it with the top-level JFrame. But, JFrame does not have a getInputMap() method.
Lost.
[Added]
ks = KeyStroke.getKeyStroke(KeyEvent.VK_F2, 0);
JMenuItem mi = new JMenuItem("Rename");
mi.setAccelerator(ks);
mi.addActionListener(action);
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…