Swing: Ustawienie klawisza funkcyjnego (F2) jako akceleratora

Mam element menu „zmiana nazwy”, dla którego F2 jest ustawiony jako akcelerator. Rzeczywiście, gdy wyświetlane jest menu, obok „zmiany nazwy” pojawia się małe wskazanie „F2”.

Niestety, to nie działa. Ten akcelerator nie odpowiada. Kiedy zmieniam akcelerator na CTRL + F2 - działa.

Wydaje się, że powinienem użyć InpoutMpa / ActionMap. Problem polega na tym, że chcę, aby działało to wszędzie w aplikacji, więc próbuję powiązać ją z JFrame najwyższego poziomu. Ale JFrame nie ma metody getInputMap ().

Stracony.

[Dodany]

     ks = KeyStroke.getKeyStroke(KeyEvent.VK_F2, 0);
     JMenuItem mi = new JMenuItem("Rename");
     mi.setAccelerator(ks);
     mi.addActionListener(action); 

questionAnswers(2)

yourAnswerToTheQuestion