Impostazione chiave a tre pulsanti di scelta rapida tasti di scelta rapida in Java (OSX)
-
20-09-2019 - |
Domanda
Sto cercando di cambiare un paio di hot-keys in un'applicazione Java che sto wokring su e sembra che il sistema che sto usando potrebbe non funzionare con tre pulsanti combinazioni di tasti. Al momento abbiamo un elemento JMenuItem e abbiamo impostato la combinazione di tasti con una chiamata in questo modo:
menuItem.setAccelerator(getAcceleratorKey(accelerator));
E qui è il metodo getAcceleratorKey:
private KeyStroke getAcceleratorKey(int keyCode) {
return KeyStroke.getKeyStroke(
keyCode,
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(),
false);
}
Sembra che il keyCode che questo metodo prende come parametro può essere solo premuto con il comando una chiave. Così come allora dovrei fare qualcosa di simile Comando-Maiuscole Z per annullare? Ho bisogno di usare una classe diversa?
Soluzione
KeyStroke.getKeyStroke () prende modificatori come parametro. Una combinazione di essi dovrebbe darvi ciò che si vuole:
KeyStroke.getKeyStroke(keyCode,
java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.META_MASK);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow