2
我想給我的應用程序的「首選項..」MenuItem(在Mac默認系統菜單),但由於某種原因點擊不工作,我看不到什麼我做錯了。這是我如何得到偏好menuitem:使用首選項MenuItem SWT
protected MenuItem getPreferencesMenuItem() {
Menu guiMenu = Display.getDefault().getSystemMenu();
MenuItem preferencesMenuItem = null;
if (guiMenu != null) {
for (int i = 0; i < guiMenu.getItemCount(); i++) {
MenuItem currentMenuItem = guiMenu.getItem(i);
if (currentMenuItem.getText().contains("Preferences")) {
preferencesMenuItem = currentMenuItem;
break;
} // end if
} // end for
} // end if
return preferencesMenuItem;
}
這就是我如何添加偵聽器。有什麼我失蹤?
MenuItem preferencesMenuItem = this.getPreferencesMenuItem();
if (preferencesMenuItem != null) {
System.out.println(preferencesMenuItem.getText());
preferencesMenuItem.addSelectionListener(new SelectionAdapter() {
public void selectedWidget(SelectionEvent event) {
System.out.println("Preferences selected.");
PreferencesDialog preferencesDialog = new PreferencesDialog(shell_, processPanel_.getImageManager());
preferencesDialog.open();
}});
}
你必須對接口部分Mac代碼要做到這一點,請參閱[這個博客(http://eclipsesource.com/blogs/2012/07/19/configuring-the-os-x-application- menu-for-swt-apps /)和[this question](https://stackoverflow.com/questions/6665933/swt-how-to-handle-application-events-correctly-on-os-x) –