Мнемоника меню Java в файлах ресурсов

Я хотел бы назначить мнемонику JMenu использование пакетов ресурсов (или ResourceMap). Так, например, код без файла ресурсов будет...

JMenu fileMenu = new JMenu();
fileMenu.setText("File");   // this would be read from a resource file
fileMenu.setMnemonic('F');  // but the docs say this is obsolete
fileMenu.setMnemonic(KeyEvent.VK_F);

Итак, как мне поставить KeyEvent.VK_F в файле ресурсов?

на JMenuItem Я могу сделать это с помощью действий, но это JMenu.

3 ответов


в Java javax.качать.Нажатие клавиши класс мосты:

JMenu fileMenu = new JMenu();
String mnemonic = // string from localization
fileMenu.setMnemonic(KeyStroke.getKeyStroke(mnemonic).getKeyCode());

ускорители не поддерживаются для JMenus, только для JMenuItems (что имеет смысл, так как они вызывают действие без использования меню вообще).


внутри файла ресурсов используйте ускоритель

добавить.Действие.ускоритель = управляйте


вы могли бы сделать это аналогичным образом и рассматривать "FileMenu" как (поддельное) действие?