锁定老帖子 主题:学习EclipseRCP
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-06-20
最后修改:2009-06-23
RCP(Rich Client Platform)是一个使用Java技术构建富客户端应用的平台,它使用SWT/JFace技术构建界面部分,使用Eclipse平台作为RCP程序的运行环境,本质上RCP是Eclipse平台的插件。RCP的优点是可以快速开发桌面系统,构建一般的应用都很简单,甚至构建一个浏览器只需要拖出一个浏览器控件就可以,复杂的地方就是需要做一定的配置。 RCP程序可以脱离Eclipse平台运行,这样完成之后的RCP产品打包之后只有很小的体积。
RCP和Eclipse - PlugIn
它们俩在本质上是相同的,都是使用SWT/JFace技术构建的;而RCP可以独立运行(脱离Eclipse),PlugIn只能运行在Eclipse中,像其他的各种Eclipse插件一样;完成之后的RCP程序有直接可启动的.exe文件,可以运行,PlugIn可能只是一些jar文件,需要加入到Eclipse的plugin文件夹下才可以使用。 在Eclipse中创建插件工程时候,这两个的区别就是“是否选择该插件成为RCP?”选项的差别,选择完毕之后生成的插件代码也不一样的。
要学习Eclipse RCP编程,首先对Eclipse平台要有一个大概的了解。知道Eclipse界面由几部分构成,其中包括:
Workbench(工作台):整个Eclipse平台就是一个workbench
Editor(编辑器):可以认为它是放置一些控件的容器
View(视图):同样可以认为它是放置一些SWT控件的容器,它和Editor的区别是:1)在一个当前页面中,只能有一个同样的视图,但是可以有多个同样的编辑器(在Eclipse中编辑java文件时候,可以打开多个java文件,这是编辑器,而只能调出一个console视图,这是视图);2)编辑器是固定在当前页面的具体位置的,但是视图可以在页面中移动;等等。
Perspective(透视图):特定的视图和编辑器的组合
还有需要了解,使用Eclipse开发RCP过程中的一些文件的含义,主要有 MANIFEST.MF:插件清单文件 build.properties:构建RCP程序时所导入的类库设置 plugin.xml:最重要的文件,它是插件配置文件,集中管理你所创建的各个控件是如何接入到Eclipse平台中的。 使用Eclipse的插件工程向导生成的项目框架之后,src包中包括了一些java文件,有控制RCP程序生命周期的类Application.java,等等,需要具体了解的可以查看生成的代码。
RCP程序的界面显示其实使用的是SWT/JFace技术,一旦了解清楚如何创建RCP框架之后,就和使用SWT构建一般界面没什么区别了,SWT可以使用VE插件进行开发,SWT以前使用过,开发过几个小应用,所以重点是如何构建这个RCP应用的框架。
构建RCP应用的框架,其实也就是弄清楚怎么扩展Eclipse,使用Eclipse平台可以很方便的进行扩展的配置,它已经内嵌了一些常用的扩展模版,通过UI的形式就可以很方便的完成。 比如说我想要给我的系统加一个菜单栏,则需要在plugin.xml文件的扩展选项卡中找到 org.eclipse.ui.menus > right-click > New > menuContribution > locationURI = menu:org.eclipse.ui.main.menu 然后在右侧的属性面板中设定一些该菜单项的基本属性,包括它的显示文本、它所要执行的命令(command)等信息。
添加一个工具栏,需要在扩展选项卡中找到 org.eclipse.ui.menus > right-click > New > menuContribution > locationURI = toolbar:org.eclipse.ui.main.toolbar > right-click > New > toolbar 这样便可以添加工具栏(还需要在WorkbenchWindowAdvisor.preWindowOpen:中添加configurer.setShowCoolBar (true);)
添加一个视图,plugin.xml > Extensions > Add > org.eclipse.ui.views > right-click > New > View > id, class
添加一个编辑器,plugin.xml > Extensions > Add > org.eclipse.ui.editors > id, class, icon 打开该编辑器
IWorkbenchPage page; IEditorInput input; page = PlatformUI.getWorkbench ().getActiveWorkbenchWindow ().getActivePage (); // else if in ViewPart // page = getSite ().getPage (); page.openEditor (input, "editor_id");
等等
创建好你所需要的各个控件之后,所需要的就是画界面了,这和java的SWT编程就没有什么区别了。
完成界面部分的创建后,需要的就是导出产品了,如果你所建立的工程是插件形式的,可以直接导出jar文件,然后拷贝到Eclipse的plugin目录下,就可以使用该插件了;如果是RCP工程,需要新建***.product文件,构建该产品的描述文件。 (具体导出方法待完成) 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
浏览 2872 次