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文件,构建该产品的描述文件。
(具体导出方法待完成)
分享到:
- 2009-06-20 12:21
- 浏览 1193
- 评论(0)
- 论坛回复 / 浏览 (0 / 2872)
- 查看更多
相关推荐
### 通过例子学习Eclipse RCP开发 #### Eclipse RCP概览 Eclipse RCP(Rich Client Platform,富客户端平台)是一种基于Java的框架和技术集合,用于构建具有丰富用户界面的应用程序。它允许开发者创建高度可定制且...
### 通过例子学习Eclipse RCP开发 #### Eclipse RCP 概览 Eclipse RCP (Rich Client Platform) 是一种用于构建高度可定制且功能丰富的应用程序的框架。它基于插件模型,允许开发者通过扩展点(extension points)...
通过实例学习Eclipse RCP开发,你可以逐步了解如何创建插件、定义视图和编辑器、实现命令和事件处理,以及如何打包和部署RCP应用。这个教程将涵盖所有这些主题,并结合实际项目帮助你巩固理论知识,提升实战技能。 ...
如果您已经具备了这些基础知识,那么学习Eclipse RCP插件式开发将变得非常容易。 学习Eclipse RCP插件式开发的难点可能在于: 1. Eclipse RCP的学习曲线较陡,需要一定的Java基础和Eclipse基础知识。 2. RCP插件式...
"学习学习,快来下"则提示这个项目适合学习Eclipse RCP的开发者,提供了一个实际案例去理解和实践RCP的开发流程。 【标签】"eclipse RCP mp3 mp3工程"进一步强调了这个项目的两大关键元素:Eclipse RCP平台和MP3...
在描述中提到的“博文链接”,暗示我们可能会从一个初级开发者的视角来学习Eclipse RCP,博主“gongqi”的博客可能会提供一系列逐步指导,帮助新手理解这个复杂的框架。然而,由于实际的博客内容无法直接在这里展示...
在深入学习Eclipse RCP之前,建议掌握以下基础知识: 1. **Java基础**: Java是Eclipse RCP的主要编程语言。 2. **Eclipse使用经验**: 了解如何使用Eclipse进行基本的开发工作。 3. **SWT/JFace开发基础(可选)**: ...
Eclipse Rich Client Platform(RCP)是Eclipse框架下的一个核心组成部分,用于构建桌面应用..."Eclipse RCP培训.zip"中的内容可能涵盖了这些方面,包括理论讲解、代码示例、练习项目等,是学习Eclipse RCP的好资源。
### Eclipse RCP 插件开发指南 #### Eclipse RCP Plugin 开发快速入门 Eclipse RCP(Rich Client Platform)插件开发是构建基于Eclipse框架的应用程序的核心...希望这份指南能够成为您学习 Eclipse RCP 的良好起点。
通过阅读《Eclipse RCP深入浅出》并结合提供的代码样例,开发者不仅可以学习到Eclipse RCP的基本概念,还能学会如何创建和调试实际的RCP应用程序。这是一本非常实用的参考资料,对于希望在Java桌面应用领域工作的...
Eclipse RCP(Rich Client Platform)是Eclipse组织提供的一种强大的桌面应用程序开发框架,自Eclipse 3.0版本开始引入。它允许开发者利用Eclipse的底层架构和已有的组件来构建可扩展、功能丰富的应用。RCP的核心...
在"eclipse rcp应用系统开发方法与实战源代码.zip"中,我们可以学习到以下关键知识点: 1. **Eclipse RCP架构**:理解Eclipse RCP的基础架构非常重要,包括插件(Plugins)、工作台(Workbench)、视图(Views)、...
在开始学习Eclipse RCP时,首先需要了解其核心概念: 1. **工作台(Workbench)**:Eclipse RCP的核心是工作台,它管理着应用程序的所有视图、编辑器和窗口。工作台负责生命周期管理,如打开、关闭和切换视图。 2....
Eclipse Rich Client Platform...通过这些源代码,开发者不仅可以学习Eclipse RCP的理论知识,还能动手实践,深入理解每个概念在实际项目中的应用。对于想要提升Eclipse RCP开发技能的人来说,这是一个非常宝贵的资源。
前一段时间学习eclipse rcp开发写的一个学习用的工程。涉及了我当时学到的一些方面。 当时想找一个可以用来学习的简单的源代码真难,有的都是复杂的。 这里提供一个简单的工程。设计初学者接触的各种问题。有时通一...
Eclipse Rich Client Platform (RCP) 是一个开源的软件框架,用于构建桌面应用程序。它基于Java,由Eclipse基金会维护,被广泛...如果你对Eclipse RCP感兴趣,可以从阅读EclipseRCP.pdf开始,逐步探索这个强大的平台。
通过对“Eclipse RCP 例子程序”的深入学习和实践,开发者不仅可以掌握Eclipse RCP的基本使用,还能了解到如何构建复杂、可扩展的桌面应用程序。而"Hyperbola"可能是指一个具体的示例项目或者一个用于演示特定功能的...
通过学习Eclipse RCP,开发者不仅可以掌握构建桌面应用程序的技能,还能了解插件开发、事件驱动编程以及如何利用Eclipse强大的生态系统来增强应用程序的功能。此外,由于Eclipse RCP与Eclipse IDE紧密集成,因此熟悉...