SWT里的Menu编程

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

新建一个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) {

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航