2009-02-06 11 views
8

me gustaría asignar una tecla de acceso a un JMenu utilizando paquetes de recursos (o el ResourceMap). Así, por ejemplo, el código sin archivo de recursos sería ...Java mnemónicos de menú en los archivos de recursos

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); 

Entonces, ¿cómo puedo poner la KeyEvent.VK_F en un archivo de recursos?

Para un JMenuItem puedo hacerlo con acciones, pero esto es JMenu.

Respuesta

11

de Java javax.swing.KeyStroke llena el vacío:

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

aceleradores no son compatibles con JMenu s solamente, para JMenuItem s (lo cual tiene sentido, ya que invocan una acción sin usar el menú).

0

Usted puede hacerlo de una manera similar, y tratar "FileMenu" como una acción (falsa)?

1

Dentro del archivo de recursos utilizar el acelerador

add.Action.accelerator = controlar clase A

Cuestiones relacionadas