快速业务通道

使用Eclipse RCP进行桌面程序开发(二):菜单、工具栏和对话框 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
new SelectionAdapter()  { 45        public  void widgetSelected(SelectionEvent e)  { 46         result =  1 ; 47         shell.dispose(); 48       } 49     } ); 50     okButton.setText( " OK " ); 51     okButton.setBounds( 10 , 10 , 48 , 22 ); 52 53     final Button cancelButton =  new Button(shell, SWT.NONE); 54     cancelButton.addSelectionListener( new SelectionAdapter()  { 55        public  void widgetSelected(SelectionEvent e)  { 56         result =  2 ; 57         shell.dispose(); 58       } 59     } ); 60     cancelButton.setText( " Cancel " ); 61     cancelButton.setBounds( 89 , 10 , 48 , 22 ); 62   } 63 64 } 65

使用Eclipse RCP进行桌面程序开发(二):菜单、工具栏和对话框(6)

时间:2011-04-13 海边沫沫

上面所讲的,只是添加菜单和工具栏的第一种方法,这种方法把构建菜单的工作以静态代 码的方式加入到了ApplicationActionBarAdvisor类中,如果需要修改用户界面,则需要修改 代码并重新编译。

添加菜单项的第二种方法就要简单得多,而且修改起来也方便,还可以对菜单项实现更加 灵活的控制,但是,需要对Eclipse的插件基础有比较好的了解。那这第二种方法就是通过扩 展actionSets扩展点来添加菜单。

对扩展点的扩展,可以通过编辑plugin.xml文件了实现,比如我们添加的第二个菜单项, 其配置文件如下:

1 < extension 2      id ="cn.blogjava.youxia.actionset" 3     name ="我的菜单扩展" 4     point ="org.eclipse.ui.actionSets" > 5    < actionSet 6       description ="第一个扩展" 7       id ="RCP_Start.actionSet1" 8       label ="RCP_Start.actionSet1" 9       visible ="true" > 10      < action 11         class ="cn.blogjava.youxia.actions.Action2" 12        icon ="icons/alt_window_16.gif" 13        id ="RCP_Start.action2" 14        label ="第二个菜单项" 15        menubarPath ="cn.blogjava.youxia.firstmenu/additions" 16        style ="push" 17        toolbarPath ="additions" 18        tooltip ="第二个菜单项的按钮" /> 19    </ actionSet > 20   </ extension >

其实Eclipse为我们提供了很好的可视化plugin.xml的编辑器,如下图,我们可以对菜单 的外观进行和行为进行灵活的控制:

使用Eclipse RCP进行桌面程序开发(二):菜单、工具栏和对话框 - 编程入门网

从配置文件中我们可以看到,我们为这第二个菜单项指定的Action是 cn.blogjava.youxia.actions.Action2类,这个类我们必须实现 org.eclipse.ui.IWorkbenchWindowActionDelegate接口,这个接口中比 org.eclipse.jface.actions.Action中多定义了一个方法public void selectionChanged (IAction action, ISelection selection),这个方法是必须的,以便工作台窗口在用户选 定哪一项资源的时候通知我们的Action类的实例。其代码如下:

package  cn.blogjava.youxia.actions; 2 3 import  org.eclipse.jface.action.IAction; 4 import  org.eclipse.jface.viewers.ISelection; 5 import  org.eclipse.ui.IWorkbenchWindow; 6 import 

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号