在Java中设置三个扣加速键热键(OSX)
-
20-09-2019 - |
题
我试图改变Java应用程序的几个热键我工作呢上,似乎我使用的系统可能无法有三个按钮组合键。目前,我们的JMenuItem项目,我们设置了热键,像这样的电话:
menuItem.setAccelerator(getAcceleratorKey(accelerator));
这里是getAcceleratorKey方法:
private KeyStroke getAcceleratorKey(int keyCode) {
return KeyStroke.getKeyStroke(
keyCode,
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(),
false);
}
看来,该方法作为一个参数的键代码只能是与命令按下一个键。因此,如何然后我会做类似的撤销命令移Z'我需要使用不同的类?
解决方案
KeyStroke.getKeyStroke()采用改性剂作为参数。它们的组合应该给你你想要什么:
KeyStroke.getKeyStroke(keyCode,
java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.META_MASK);
不隶属于 StackOverflow