2009-02-06 15 views
8

Vorrei assegnare un mnemonico a JMenu utilizzando i pacchetti di risorse (o lo ResourceMap). Così, per esempio, il codice senza file di risorse sarebbe ...Menu Java Mnemonici nei file di risorse

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

Quindi, come faccio a mettere il KeyEvent.VK_F in un file di risorse?

Per un JMenuItem Posso farlo con le azioni, ma questo è JMenu.

risposta

11

di Java javax.swing.KeyStroke colma il divario:

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

acceleratori non sono supportate per JMenu s solo, per JMenuItem s (che ha senso, dal momento che questi invocano un'azione senza utilizzare il menu).

0

È possibile farlo in un modo simile e considerare "FileMenu" come un'azione (falsa)?

1

All'interno del file di risorse utilizzare l'acceleratore

add.Action.accelerator = controllare classe A

Problemi correlati