我想为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
.
Java的javax.swing.KeyStroke类填补了这个空白:
JMenu fileMenu = new JMenu(); String mnemonic = // string from localization fileMenu.setMnemonic(KeyStroke.getKeyStroke(mnemonic).getKeyCode());
JMenu
s 不支持加速器,仅适用于JMenuItem
s(这是有意义的,因为它们在不使用菜单的情况下调用动作).