Я пытаюсь изменить несколько горячих клавиш в приложении Java, на котором я работаю, и кажется, что система, которую я использую, может не работать с тремя комбинациями клавиш. В настоящее время у нас есть элемент JMenuItem, и мы установили горячую клавишу с помощью вызова, подобного этому:
menuItem.setAccelerator(getAcceleratorKey(accelerator));
А вот и метод getAcceleratorKey:
private KeyStroke getAcceleratorKey(int keyCode) {
return KeyStroke.getKeyStroke(
keyCode,
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(),
false);
}
Кажется, что код клавиши, который этот метод принимает в качестве параметра, может быть только одной клавишей, нажатой командой. Так как же тогда сделать что-то вроде Command-shift z для отмены? Нужно ли использовать другой класс?