메뉴 항목 accel 주요 작품이 후에만 메뉴 항목은 표시되었습니다
문제
나 개발 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