@Test

    public void testMenu(){

        //负责和操作系统交互,如读取底层事件等

                Display display=new Display();

                //窗口

                Shell topShell=new Shell(display,SWT.SHELL_TRIM|SWT.BORDER);

                topShell.setText("testMenu");

                topShell.setSize(800500);

                //不设置布局不显示

                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();

    }

 

 

运行结果:

swt的菜单栏Menu的使用

相关文章: