SWT里的Menu编程
类别: JAVA教程
新建一个menu bar要以下面的格式开头:Menu menu = new Menu(shell, SWT.BAR);//注意Menu的第一个参数一般是shell!//style必须是SWT.BARshell.setMenuBar(menu);下面加一个item到menu bar:MenuItem file = new MenuItem(menu, SWT.CASCADE);//style必须是SWT.CASCADE,否则就不能跟file加drop-down menufile.setText("file");现在给file加个menu:Menu filemenu = new Menu(shell, SWT.DROP_DOWN);//style必须是SWT.DROP_DOWNfile.setMenu(filemenu);最后,可以在filemenu上加MenuItem:MenuItem actionItem = new MenuItem(filemenu, SWT.PUSH);actionItem.setText("Action");这样就在File menu上建立一个最简单的可以选择的menu item.如果要加listener,这样:actionItem.addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { System.out.println("Action Performed"); }});/////////////////////////////////////////////////////////////////////////////新建一个MenuItem的语句如下:MenuItem actionItem = new MenuItem(filemenu, SWT.PUSH);我们一般会建立SWT.PUSH的MenuItem,对于style还有其它的选择:CHECK,RADIO,SEPARATOR和CASCADE.SWT.CHECK和SWT.RADIO的用法和SWT.PUSH差不多对于SWT.CASCADE,能用它在MenuItem上在加上多个MenuItem.MenuItem cascadeItem = new MenuItem(filemenu, SWT.CASCADE);cascadeItem.setText("Cascade");Menu submenu = new Menu(shell, SWT.DROP_DOWN);cascadeItem.setMenu(submenu);接着就可以在它上面加MenuItem:final MenuItem subactionItem = new MenuItem(submenu, SWT.PUSH);subactionItem.setText("&SubAction/tCtrl+s");//S前有个&符号,这是简化的设置快捷键的方法subactionItem.setAccelerator(SWT.CTRL+\'S\');//设置键盘控制.有许多监听器,注意它们各自的用法:MenuListener:作用对象就是Menu(注意不同于MenuItem).可以侦察到Menu是打开了或者关闭了.MenuListener() { public void menuShown(MenuEvent e) { } public void menuHidden(MenuEvent e) { }}ArmListener:当一个menuitem被鼠标或键盘移动到它但并没有选择的时候,产生ArmEvent事件ArmListener() { public void widgetArmed(ArmEvent e) { }}HelpListener:如果按F1/Help键,HelpListener被激发.HelpListener() { public void helpRequested(HelpEvent e) { }}
-= 资 源 教 程 =-
文 章 搜 索