메뉴 항목 accel 주요 작품이 후에만 메뉴 항목은 표시되었습니다

StackOverflow https://stackoverflow.com/questions/239744

  •  04-07-2019
  •  | 
  •  

문제

나 개발 SWT/JFace 응용 프로그램 라이브러리를 사용하여 Eclipse 를 이 3.4.1.나는 다음과 같은 문제 Windows Vista(32 비트)그리고 Ubuntu8.10 32 비트:

내가 만드 메뉴에서 createMenuManager 방법의 JFace ApplicationWindow.추가 MenuManagers 에 대한 파일을 편집을 돕습니다.

나는 다음을 추가 ExitAction 파일 MenuManager 그래서 다음과 같:

filemenu.add(new ExitAction(this));

이 ExitAction 은 이렇게 정의된:

public class ExitAction extends Action {
  final ApplicationWindow window;

  public ExitAction(ApplicationWindow w) {

    this.window = w;
    setText("E&xit");
    setToolTipText("Exit the application");
    setAccelerator(SWT.MOD1 + 'Q');    
  }
}

이 때 응용 프로그램이 시작되 내가 원할 수 있"CTRL+Q"용 프로그램을 종료할 수 있습니다.이것은 그러나 작동하지 않습니다.후에서 클릭하면"파일에서"메뉴를 클릭한 다음"CTRL+Q"응용 프로그램이 종료됩니다.

이와 함께 다른 바로 연결 같은 결과가 나타납니다.

그것은 작동하는 경우 그러나 내가 만들"MenuItem"대신에"Action"에 기여하고 있습니다.

이 SWT 버그 또는 나가야 할 부분이 있나요?

토스.

도움이 되었습니까?

해결책

업데이트:중복된 버그의 내 또한 해결 방법을 포함.버그 url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=243758

기본적으로 문제를 해결하려면 해당 전화 create()ApplicationWindow 다음 getMenuBarManager().updateAll(true); 는 모든 메뉴 항목 초기화됩니다.

물론 당신이 전화를 위한 방법을 만든 후 메뉴 항목이 있습니다.

다른 팁

AFAIK setAccelerator(.) 는 아무것도 추가하는 것보다 적절한 텍스트를 당신의 MenuItem.할 책임이 있을 등록 KeyUp 이벤트와 반응에습니다.

당신이 사용할 수 있는 Display.addFilter(SWT.KeyUp, myListener) 을 등록 Listener 독립적으로 위젯.

이에서 버그 Eclipse3.4.나는 제출 버그 보고서: https://bugs.eclipse.org/bugs/show_bug.cgi?id=253078

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top