문제

나는 내가 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);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top