Java (OSX)에서 3 개의 버튼 가속기 키 핫 키 설정
-
20-09-2019 - |
문제
나는 내가 wicking하는 Java 응용 프로그램에서 몇 개의 핫키를 변경하려고 노력하고 있으며 사용중인 시스템이 3 개의 버튼 키 조합으로 작동하지 않을 수있는 것 같습니다. 우리는 현재 jmenuitem 항목을 가지고 있으며 다음과 같은 전화로 핫키를 설정했습니다.
menuItem.setAccelerator(getAcceleratorKey(accelerator));
그리고 여기에 getAcceleratorkey 메소드가 있습니다.
private KeyStroke getAcceleratorKey(int keyCode) {
return KeyStroke.getKeyStroke(
keyCode,
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(),
false);
}
이 메소드가 매개 변수로 취하는 키 코드는 명령으로 하나의 키를 누를 수 있습니다. 그렇다면 어떻게 실행 취소를 위해 Command-Shift Z와 같은 일을 하는가? 다른 클래스를 사용해야합니까?
해결책
KeyStroke.getKeyStroke ()는 수정자를 매개 변수로 간주합니다. 그들의 조합은 당신이 원하는 것을 제공해야합니다.
KeyStroke.getKeyStroke(keyCode,
java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.META_MASK);
제휴하지 않습니다 StackOverflow