RCP开发指南RCP开发指南.doc

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
RCP开发指南RCP开发指南

RCP开发指南 什么是RCP 桌面应用程序也可称为胖客户端程序或GUI程序。用SWT可以像SWING一样开发独立的桌面应用,但这样无法利用Eclipse的插件机制,所以有些人就折衷了一下:把桌面应用写成Eclipse插件。不过,插件基于Eclipse运行,Eclipse原有的菜单和工具栏无法消除。如果你连Eclipse的那些菜单和工具栏均不想被用户看到,那么就要用到RCP平台。 所谓RCP,就是Rich Client Platform的缩写,即客户平台,是Eclipse进化的产物(自3.0版以后出现),是Eclipse组织向用户提供的强大的开放性开发平台,能够使用户方便地创建自己的基于Eclipse的应用程序,并且这些应用程序能够得到Eclipse的底层支持。更重要的是,我们可以利用Java创建象Eclipse这么漂亮的桌面程序/249531431.html RCP技术现状 遗憾的是,目前在国内基本上找不到关于RCP的中文资料我相信,在未来的几年里,RCP一定会变得非常流行。RCP平台上,RCP 通过其对桌面应用支撑的设计为我们展示了扩展点的最佳实践方法,将界面按照对象的思想进行划分,在划分的过程中根据职责形成插件,暴露出扩展点,最后形成了象树一样的结构体系,如图所示: 快速起步指南 RCP的主要知识基于SWT/JFace和Eclipse插件,自身的知识点并不多。作为快速起步指南,下面让我们一步一步来建立一个Eclipse RCP程序/249531431.html 选择“File--”命令,:选择“”: 点,输入项目名称,选择Eclipse版本,我这里选择的是3.点插件标识和插件名称可以更改,其他的内容都保持默认,一定要记得选中客户应用程序支持:点/249531431.html 选中一个模板,这里选一个最简单的: 点改一下应用程序标题:点,我们可以在项目上面点右键-运行,就可以看到效果了: 项目运行后打开的是一个空白窗体。它实际上是一个新Eclipse环境,只不过是被去掉了菜单、工具栏等界面元素,所以看起来像一个简单的Shell窗口。在此窗口上显示的是一个透视图,透视图中含有一个编辑器区域,以后,我们可以逐步为这个程序添加菜单、工具条和为这个透视图添加视图、编辑器等等。现在,这个程序只能在Eclipse环境下运行,而RCP的目标是创建可以独立运行的应用程序Rcp开发的基本内容如下: 在RCP项中的操作集(Action Set) 视图(Viewer) 编辑器(Editor) 透视图(Perspective) 向导式对话框(Wizard) 首选项(Preference) 帮助文档(Help Contents) 其它功能扩展 扩展操作集 Eclipse插件开发操作集有2中方法,一是扩展的方式,二是编程的方式 扩展的方式:添加扩展点:org.eclipse.ui.actionSets。 menu或者action,并设置相关属性 每一个menu是一个菜单,菜单项是Action,必须为没一个menu建至少一个action,否则menu不能在应用程序中显示出来.path=”fileMenu”,表示菜单在fileMenu菜单之后,如果没有设,或者设了错的值,则用默认值为aditions,则显示在最左方. 注意:用扩展添加菜单一定要注意各个菜单在菜单栏中的前后顺序,一定要按顺序从前到后,否则程序不能启动.应该为扩展的action创建Java类public class Action2 implements IWorkbenchWindowActionDelegate { ……………… } B: 通过代码创建操作对象 写一个继承Action的类即可,然后覆盖run()方法. 在ApplicationActionBarAdvisor类中实现各个方法,,NewAction可在其他地方创建.private static class NewAction extends Action { } private IAction newAction; // 新建文件 protected void makeActions(IWorkbenchWindow window){//覆盖makeActions() newAction = new NewAction(); register(newAction);// 注册操作对象protected void fillMenuBar(IMenuManager menuBar) {//覆盖父类的fillMenubar()IMenuManager fileMenu = new MenuManager(文件(F), IWorkbenchAct

文档评论(0)

cduutang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档