上次讲述了怎么新建一个RCP应用程序, 没有对其核心的类总结。今天晚上抽空简单的总结了一下,主要包括针对
application,Perspective,WorkbenchAdvisor,WorkbenchWindowAdvisor,ActionBarAdvisor的总结。
在eclipse3.0版本新建的rcp应用程序中有三个核心的类:<o:p></o:p>
(1)Application:IPlatformRunnable的实现类,做为rcp应用程序的入口。重要的功能就是:在它的run的方法中创建了工作台:PlatformUI.createAndRunWorkbench(display,new ApplicationWorkbenchAdvisor())!我们可以通过这个工作台新建活动的窗体,为生成窗体主界面提供了保障,也是通过这个工作台,来新建我们活动的子窗体。<o:p></o:p>
(2)IPerspectiveFactory的实现类Perspective,在前面讲到,Perspective是Eclipse工作台所有已打开的视图和编辑器的容器。每个工作台只有一个透视图,我们可将相关功能统一透视图中。视图和编辑器不可在不同的透视图之间共享。透视图具有它的编辑器,视图,可设计它们执行不同的功能呢个。一个系统中也可以由多个透视图,透视图的个数取决于应用程序的复杂程度。<o:p></o:p>
(3)WorkbenchAdvisor的实现类,负责配置工作台,当执行rcp应用程序时,显示该工作台。可在这个类中配置窗体信息:如工作台窗体的菜单信息,工具栏等。并为开发人员提供针对rcp应用程序生命周期的访问!实际上,整个rcp应用程序的配置都在这个类中完成的。但在eclipse3.1以后的的版本中,这些WorkbenchAdvisor的中若干方法如preWindowOpen()等都为推荐为不用了。针对rcp应用程序的配置,以及针对rcp应用程序生命周期的访问都放在WorkbenchWindowAdvisor中了。<o:p></o:p>
再eclipse3.1以后的版本中,在自定义生成rcp应用程序时,有五个主要的类:<o:p></o:p>
(1)Application:IPlatformRunnable的实现类,做为rcp应用程序的入口。<o:p></o:p>
(2)也有个IPerspectiveFactory的实现类Perspective。<o:p></o:p>
(3)WorkbenchAdvisor的实现类ApplicationWorkbenchAdvisor,在Application启动时,这个类作为参数来传递给启动方法。因此,工作台窗体是基于这个类才创建完成的。在ApplicationWorkbenchAdivor中,与3.1以前的版本不同的是,需要实现的方法不同了,以前需要实现preWindowOpen()、fillActionBars()等方法,而在3.1以后,这个类需要实现两种比较重要的方法:createWorkbenchWindowAdvisor()、getInitialWindowPerspectiveId(),前者返回的是:一个WorkbenchWindowAdvisor对象,用来具体的生成活动窗体了。这个方法很重要,和我们生成子窗体也关系密切,在具体的讲述怎么生成子窗体时,我们在详细的阐述它的功能。<o:p></o:p>
后者用来返回一个透视图的ID,在定义的工作台窗体中返回对应ID的透视图,如果,没有,则没有任何的透视图被返回。下面我们看看WorkbenchWindowAdvisor的实现类ApplicationWorkbenchWindowAdvisor。<o:p></o:p>
(4)WorkbenchWindowAdvisor的实现类ApplicationWorkbenchWindowAdvisor:在这个方法中定义了两个方法:createActionBarAdvisor()、preWindowOpen()前者用来定义菜单栏,工具栏,后者用来定义主窗体的名称等信息。<o:p></o:p>
(5)ActionBarAdvisor的实现类ApplicationActionBarAdvisor:创建管理配置创建的action bar(用来定义窗体的菜单和工具栏),用来配置workbenchwindows。<o:p></o:p>
我们可以这么理解:Application用于创建工作台,而WorkbenchAdvisor则用来创建工作台的活动窗体了。那么具体怎么创建的,则由WorkbenchWindowAdvisor和ActionBarAdvisor来完成了。另外,应用程序中如有需要定义透视图,我们定义一个透视图就可以了。一个最基础的rcp应用程序基本由这些核心的功能类组成的。<o:p></o:p>
分享到:
相关推荐
2. **Workbench**(工作台):Eclipse RCP应用的核心组件之一,管理多个窗口和透视图。 3. **Perspective**(透视图):一种逻辑布局,用于组织编辑器和视图,为用户提供特定的工作环境。 4. **Editor**(编辑器):...
RCP,全称为Rich Client Platform,是Eclipse基金会推出的一种客户端应用程序开发框架。它允许开发者构建功能丰富的、可扩展的桌面应用,提供了丰富的用户界面和高度定制化的功能。本实例我们将深入探讨如何利用RCP...
在Eclipse RCP中,应用程序是由一系列插件组成的,每个插件都可以独立地进行开发、部署和更新。 Eclipse RCP的核心特性之一是它的灵活性和可扩展性。这种灵活性体现在多个方面,例如通过插件机制可以轻松地添加新...
根据提供的部分内容,“spring-rich-c”(以下简称“Spring RCP”)是一个基于Spring框架构建的Java Swing应用框架,旨在简化专业级企业应用程序的开发过程。Spring RCP充分利用了Spring框架的核心优势,并在此基础...
Eclipse RCP(Rich Client Platform)是Eclipse框架下用于构建桌面应用程序的开发平台,它提供了丰富的用户界面和高度的可扩展性。Eclipse RCP利用Eclipse的插件体系结构,允许开发者构建模块化、可重用的应用程序,...
- **插件**:Eclipse RCP 应用程序的核心构建单元,每个插件负责特定的功能或服务。 - **OSGi**:一种模块化系统和动态模块加载器,使插件能够动态加载、卸载、启动和停止。 - **扩展点**:定义在插件中的接口,允许...
通过对Eclipse RCP框架核心类的源代码分析,我们可以看到,Eclipse RCP不仅是一个强大的桌面应用程序开发平台,更是一个高度可定制和扩展的框架。通过深入理解这些关键类的作用和工作方式,开发者可以更好地利用...
标签进一步强调了项目的关键元素,包括Eclipse RCP平台、数独游戏开发以及整个项目的核心——一个数独工程。这些标签有助于用户快速理解项目的主要特点和用途,方便在搜索或分类时找到。 【压缩包子文件的文件名称...
2. GEF的基本结构:GEF应用程序通常包括三个核心组件——模型(Model)、控制器(Controller)和视图(View)。文档中介绍了如何在Eclipse的plugin.xml文件中设置依赖,以便加入GEF库。接着,重点在于创建Editor,...
此外,这两份文档可能还会涉及国际化(i18n)、持久化存储、窗口小部件(Widgets)的使用,以及如何自定义RCP应用程序的外观和行为。开发者可能会学到如何使用SWT(Standard Widget Toolkit)和JFace库来创建用户...
这使得开发者能够在Eclipse平台上构建不同于IDE的传统RCP应用程序。然而,传统的视图和编辑器组件在某些情况下可能不再是最优解,因此Eclipse Forms应运而生。 **设计理念** - **问题解决**:Eclipse Forms旨在...
- **RCP项目建立**:RCP(Rich Client Platform)项目是基于Eclipse的客户端应用程序。文档提到通过选择“Plug-in Project”并设置项目名为`gef.tutorial.stepz`来创建一个RCP项目。 - **显示RCP中的Editor**:在RCP...
15.2 应用程序窗口ApplicationWindow类 292 15.3 带有菜单栏的主程序窗口 293 15.3.1 简单写字板程序示例 293 15.3.2 添加菜单栏的基本步骤 297 15.3.3 创建菜单项 297 15.3.4 菜单项的事件处理 298 ...
这个项目可能是为了教学、学习或者进一步开发而创建的,旨在帮助开发者理解Android应用程序的构建过程,特别是关于用户界面设计、数据管理、事件处理等方面的知识。 【描述】描述中提到的"安卓Android源码——(精)...
Eclipse的架构基于OSGi(Open Service Gateway Initiative)框架,它将应用程序分解为可独立更新的小模块——称为"bundle"。每个bundle都有自己的类加载器,允许它们在不相互依赖的情况下运行。Eclipse的核心组件...
在Android平台上,所有的应用程序都在一个核心引擎——Dalvik虚拟机上运行,这使得所有应用之间具有平等性。Android提供了丰富的API接口,让开发者能够轻松地实现应用与硬件资源的交互,打破应用之间的界限,创造...