|
|
SWT里的Menu编程 |
|
|
作者:未知 来源:月光软件站 加入时间:2005-5-13 月光软件站 |
新建一个menu bar要以下面的格式开头: Menu menu = new Menu(shell, SWT.BAR); //注意Menu的第一个参数一般是shell! //style必须是SWT.BAR shell.setMenuBar(menu);
下面加一个item到menu bar: MenuItem file = new MenuItem(menu, SWT.CASCADE); //style必须是SWT.CASCADE,否则就不能跟file加drop-down menu file.setText("file");
现在给file加个menu: Menu filemenu = new Menu(shell, SWT.DROP_DOWN); //style必须是SWT.DROP_DOWN file.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.se tMenu(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) { } }
|
|
相关文章:相关软件: |
|