我在Windows上开发了SWT应用程序,当我尝试使用MAC OS X Mavericks时,SWT菜单栏的行为很奇怪。它不会立即显示。但如果我最小化应用程序,请单击桌面上的某个位置并最大化应用程序,菜单工作正常。我如何解决这种奇怪的行为?
PS:我已经看过这个Eclipse menus disabled on OS X 10.9 Beta 6并且它解决了我的问题。
我的代码的一部分看起来像这样
public class Dummy2 {
public static void main(String args[])
{
Display display= new Display();
Shell shell= new Shell();
Menu bar= new Menu(shell,SWT.BAR);
shell.setMenuBar(bar);
MenuItem fileitem=new MenuItem(bar,SWT.CASCADE);
MenuItem edititem=new MenuItem(bar,SWT.CASCADE);
MenuItem helpitem=new MenuItem(bar,SWT.CASCADE);
fileitem.setText("File");
edititem.setText("Edit");
helpitem.setText("Help");
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}