`
Jesse_Dht
  • 浏览: 27102 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

RCP应用程序开发之二——核心类总结

阅读更多

上次讲述了怎么新建一个RCP应用程序, 没有对其核心的类总结。今天晚上抽空简单的总结了一下,主要包括针对

application,Perspective,WorkbenchAdvisor,WorkbenchWindowAdvisor,ActionBarAdvisor的总结。

eclipse3.0版本新建的rcp应用程序中有三个核心的类:<o:p></o:p>

1ApplicationIPlatformRunnable的实现类,做为rcp应用程序的入口。重要的功能就是:在它的run的方法中创建了工作台:PlatformUI.createAndRunWorkbench(display,new ApplicationWorkbenchAdvisor())!我们可以通过这个工作台新建活动的窗体,为生成窗体主界面提供了保障,也是通过这个工作台,来新建我们活动的子窗体。<o:p></o:p>

2IPerspectiveFactory的实现类Perspective,在前面讲到,PerspectiveEclipse工作台所有已打开的视图和编辑器的容器。每个工作台只有一个透视图,我们可将相关功能统一透视图中。视图和编辑器不可在不同的透视图之间共享。透视图具有它的编辑器,视图,可设计它们执行不同的功能呢个。一个系统中也可以由多个透视图,透视图的个数取决于应用程序的复杂程度。<o:p></o:p>

3WorkbenchAdvisor的实现类,负责配置工作台,当执行rcp应用程序时,显示该工作台。可在这个类中配置窗体信息:如工作台窗体的菜单信息,工具栏等。并为开发人员提供针对rcp应用程序生命周期的访问!实际上,整个rcp应用程序的配置都在这个类中完成的。但在eclipse3.1以后的的版本中,这些WorkbenchAdvisor的中若干方法如preWindowOpen()等都为推荐为不用了。针对rcp应用程序的配置,以及针对rcp应用程序生命周期的访问都放在WorkbenchWindowAdvisor中了。<o:p></o:p>

eclipse3.1以后的版本中,在自定义生成rcp应用程序时,有五个主要的类:<o:p></o:p>

1ApplicationIPlatformRunnable的实现类,做为rcp应用程序的入口。<o:p></o:p>

2)也有个IPerspectiveFactory的实现类Perspective<o:p></o:p>

3WorkbenchAdvisor的实现类ApplicationWorkbenchAdvisor,在Application启动时,这个类作为参数来传递给启动方法。因此,工作台窗体是基于这个类才创建完成的。在ApplicationWorkbenchAdivor中,与3.1以前的版本不同的是,需要实现的方法不同了,以前需要实现preWindowOpen()fillActionBars()等方法,而在3.1以后,这个类需要实现两种比较重要的方法:createWorkbenchWindowAdvisor()getInitialWindowPerspectiveId(),前者返回的是:一个WorkbenchWindowAdvisor对象,用来具体的生成活动窗体了。这个方法很重要,和我们生成子窗体也关系密切,在具体的讲述怎么生成子窗体时,我们在详细的阐述它的功能。<o:p></o:p>

后者用来返回一个透视图的ID,在定义的工作台窗体中返回对应ID的透视图,如果,没有,则没有任何的透视图被返回。下面我们看看WorkbenchWindowAdvisor的实现类ApplicationWorkbenchWindowAdvisor<o:p></o:p>

4WorkbenchWindowAdvisor的实现类ApplicationWorkbenchWindowAdvisor:在这个方法中定义了两个方法:createActionBarAdvisor()preWindowOpen()前者用来定义菜单栏,工具栏,后者用来定义主窗体的名称等信息。<o:p></o:p>

5ActionBarAdvisor的实现类ApplicationActionBarAdvisor:创建管理配置创建的action bar(用来定义窗体的菜单和工具栏),用来配置workbenchwindows<o:p></o:p>

我们可以这么理解:Application用于创建工作台,而WorkbenchAdvisor则用来创建工作台的活动窗体了。那么具体怎么创建的,则由WorkbenchWindowAdvisorActionBarAdvisor来完成了。另外,应用程序中如有需要定义透视图,我们定义一个透视图就可以了。一个最基础的rcp应用程序基本由这些核心的功能类组成的。<o:p></o:p>



分享到:
评论

相关推荐

    通过例子学习EclipseRCP开发

    2. **Workbench**(工作台):Eclipse RCP应用的核心组件之一,管理多个窗口和透视图。 3. **Perspective**(透视图):一种逻辑布局,用于组织编辑器和视图,为用户提供特定的工作环境。 4. **Editor**(编辑器):...

    RCP——CRM系统实例

    RCP,全称为Rich Client Platform,是Eclipse基金会推出的一种客户端应用程序开发框架。它允许开发者构建功能丰富的、可扩展的桌面应用,提供了丰富的用户界面和高度定制化的功能。本实例我们将深入探讨如何利用RCP...

    Eclipse RCP详细教程

    在Eclipse RCP中,应用程序是由一系列插件组成的,每个插件都可以独立地进行开发、部署和更新。 Eclipse RCP的核心特性之一是它的灵活性和可扩展性。这种灵活性体现在多个方面,例如通过插件机制可以轻松地添加新...

    spring rcp 经典教程

    根据提供的部分内容,“spring-rich-c”(以下简称“Spring RCP”)是一个基于Spring框架构建的Java Swing应用框架,旨在简化专业级企业应用程序的开发过程。Spring RCP充分利用了Spring框架的核心优势,并在此基础...

    Eclipse RCP 自学教程

    Eclipse RCP(Rich Client Platform)是Eclipse框架下用于构建桌面应用程序的开发平台,它提供了丰富的用户界面和高度的可扩展性。Eclipse RCP利用Eclipse的插件体系结构,允许开发者构建模块化、可重用的应用程序,...

    Eclipse RCP教程

    - **插件**:Eclipse RCP 应用程序的核心构建单元,每个插件负责特定的功能或服务。 - **OSGi**:一种模块化系统和动态模块加载器,使插件能够动态加载、卸载、启动和停止。 - **扩展点**:定义在插件中的接口,允许...

    eclipse rcp教程

    通过对Eclipse RCP框架核心类的源代码分析,我们可以看到,Eclipse RCP不仅是一个强大的桌面应用程序开发平台,更是一个高度可定制和扩展的框架。通过深入理解这些关键类的作用和工作方式,开发者可以更好地利用...

    eclipse RCP 数独工程

    标签进一步强调了项目的关键元素,包括Eclipse RCP平台、数独游戏开发以及整个项目的核心——一个数独工程。这些标签有助于用户快速理解项目的主要特点和用途,方便在搜索或分类时找到。 【压缩包子文件的文件名称...

    gef版本的helloworld

    2. GEF的基本结构:GEF应用程序通常包括三个核心组件——模型(Model)、控制器(Controller)和视图(View)。文档中介绍了如何在Eclipse的plugin.xml文件中设置依赖,以便加入GEF库。接着,重点在于创建Editor,...

    Eclipse学习笔记.rar

    此外,这两份文档可能还会涉及国际化(i18n)、持久化存储、窗口小部件(Widgets)的使用,以及如何自定义RCP应用程序的外观和行为。开发者可能会学到如何使用SWT(Standard Widget Toolkit)和JFace库来创建用户...

    eclipse插件开发form编辑器

    这使得开发者能够在Eclipse平台上构建不同于IDE的传统RCP应用程序。然而,传统的视图和编辑器组件在某些情况下可能不再是最优解,因此Eclipse Forms应运而生。 **设计理念** - **问题解决**:Eclipse Forms旨在...

    GEF开发指南---插件开发

    - **RCP项目建立**:RCP(Rich Client Platform)项目是基于Eclipse的客户端应用程序。文档提到通过选择“Plug-in Project”并设置项目名为`gef.tutorial.stepz`来创建一个RCP项目。 - **显示RCP中的Editor**:在RCP...

    Eclipse_Swt_Jface_核心应用_部分19

    15.2 应用程序窗口ApplicationWindow类 292 15.3 带有菜单栏的主程序窗口 293 15.3.1 简单写字板程序示例 293 15.3.2 添加菜单栏的基本步骤 297 15.3.3 创建菜单项 297 15.3.4 菜单项的事件处理 298 ...

    安卓Android源码——(精)生日管家项目完整源码.zip

    这个项目可能是为了教学、学习或者进一步开发而创建的,旨在帮助开发者理解Android应用程序的构建过程,特别是关于用户界面设计、数据管理、事件处理等方面的知识。 【描述】描述中提到的"安卓Android源码——(精)...

    Eclipse插件开发之入门和进阶

    Eclipse的架构基于OSGi(Open Service Gateway Initiative)框架,它将应用程序分解为可独立更新的小模块——称为"bundle"。每个bundle都有自己的类加载器,允许它们在不相互依赖的情况下运行。Eclipse的核心组件...

    视频播放器课程设计报告.pdf

    在Android平台上,所有的应用程序都在一个核心引擎——Dalvik虚拟机上运行,这使得所有应用之间具有平等性。Android提供了丰富的API接口,让开发者能够轻松地实现应用与硬件资源的交互,打破应用之间的界限,创造...

Global site tag (gtag.js) - Google Analytics