Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
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) {
    }
}


相关文章

相关软件