@Test
public void testMenu(){
//负责和操作系统交互,如读取底层事件等
Display display=new Display();
//窗口
Shell topShell=new Shell(display,SWT.SHELL_TRIM|SWT.BORDER);
topShell.setText("testMenu");
topShell.setSize(800, 500);
//不设置布局不显示
topShell.setLayout(new GridLayout());
//整个一个条是一个menu
Menu menuBar=new Menu(topShell, SWT.BAR);
//主要“文件”菜单竟然是一个menuItem
MenuItem file=new MenuItem(menuBar, SWT.CASCADE);
file.setText("文件");
//这个item下面的东西就相当于挂了个弹出菜单了,即单独的菜单
Menu fileMenuForFile=new Menu(topShell,SWT.DROP_DOWN);
MenuItem openItem=new MenuItem(fileMenuForFile, SWT.PUSH);
openItem.setText("打开");
MenuItem sep=new MenuItem(fileMenuForFile, SWT.SEPARATOR);
MenuItem exitItem=new MenuItem(fileMenuForFile, SWT.PUSH);
exitItem.setText("退出");
//把bar上的item和一个单独的菜单关联
file.setMenu(fileMenuForFile);
topShell.setMenuBar(menuBar);
topShell.open();
while(!topShell.isDisposed()){
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
运行结果: