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

原创 2007年09月16日 12:24:00
上次讲述了怎么新建一个RCP应用程序, 没有对其核心的类总结。今天晚上抽空简单的总结了一下,主要包括针对
application,Perspective,WorkbenchAdvisor,WorkbenchWindowAdvisor,ActionBarAdvisor的总结。
在eclipse3.0版本新建的rcp应用程序中有三个核心的类:
(1)Application:IPlatformRunnable的实现类,做为rcp应用程序的入口。重要的功能就是:在它的run的方法中创建了工作台:PlatformUI.createAndRunWorkbench(display,new ApplicationWorkbenchAdvisor())!我们可以通过这个工作台新建活动的窗体,为生成窗体主界面提供了保障,也是通过这个工作台,来新建我们活动的子窗体。
(2)IPerspectiveFactory的实现类Perspective,在前面讲到,Perspective是Eclipse工作台所有已打开的视图和编辑器的容器。每个工作台只有一个透视图,我们可将相关功能统一透视图中。视图和编辑器不可在不同的透视图之间共享。透视图具有它的编辑器,视图,可设计它们执行不同的功能呢个。一个系统中也可以由多个透视图,透视图的个数取决于应用程序的复杂程度。
(3)WorkbenchAdvisor的实现类,负责配置工作台,当执行rcp应用程序时,显示该工作台。可在这个类中配置窗体信息:如工作台窗体的菜单信息,工具栏等。并为开发人员提供针对rcp应用程序生命周期的访问!实际上,整个rcp应用程序的配置都在这个类中完成的。但在eclipse3.1以后的的版本中,这些WorkbenchAdvisor的中若干方法如preWindowOpen()等都为推荐为不用了。针对rcp应用程序的配置,以及针对rcp应用程序生命周期的访问都放在WorkbenchWindowAdvisor中了。
再eclipse3.1以后的版本中,在自定义生成rcp应用程序时,有五个主要的类:
(1)Application:IPlatformRunnable的实现类,做为rcp应用程序的入口。
(2)也有个IPerspectiveFactory的实现类Perspective。
(3)WorkbenchAdvisor的实现类ApplicationWorkbenchAdvisor,在Application启动时,这个类作为参数来传递给启动方法。因此,工作台窗体是基于这个类才创建完成的。在ApplicationWorkbenchAdivor中,与3.1以前的版本不同的是,需要实现的方法不同了,以前需要实现preWindowOpen()、fillActionBars()等方法,而在3.1以后,这个类需要实现两种比较重要的方法:createWorkbenchWindowAdvisor()、getInitialWindowPerspectiveId(),前者返回的是:一个WorkbenchWindowAdvisor对象,用来具体的生成活动窗体了。这个方法很重要,和我们生成子窗体也关系密切,在具体的讲述怎么生成子窗体时,我们在详细的阐述它的功能。
后者用来返回一个透视图的ID,在定义的工作台窗体中返回对应ID的透视图,如果,没有,则没有任何的透视图被返回。下面我们看看WorkbenchWindowAdvisor的实现类ApplicationWorkbenchWindowAdvisor。
(4)WorkbenchWindowAdvisor的实现类ApplicationWorkbenchWindowAdvisor:在这个方法中定义了两个方法:createActionBarAdvisor()、preWindowOpen()前者用来定义菜单栏,工具栏,后者用来定义主窗体的名称等信息。
(5)ActionBarAdvisor的实现类ApplicationActionBarAdvisor:创建管理配置创建的action bar(用来定义窗体的菜单和工具栏),用来配置workbenchwindows。
我们可以这么理解:Application用于创建工作台,而WorkbenchAdvisor则用来创建工作台的活动窗体了。那么具体怎么创建的,则由WorkbenchWindowAdvisor和ActionBarAdvisor来完成了。另外,应用程序中如有需要定义透视图,我们定义一个透视图就可以了。一个最基础的rcp应用程序基本由这些核心的功能类组成的。

 

注:本文转载自:http://blog.csdn.net/jdenght/archive/2006/07/31/1005427.aspx

Eclipse RCP开发桌面程序

KentySky 站在巨人的肩上,希望自己也可以长高一点!!! 博客园   首页   博问   闪存   新随笔   联系   订阅  管理 随笔-251  评论-86  文...
  • sinat_18366705
  • sinat_18366705
  • 2016年05月10日 12:02
  • 1806

使用Eclipse RCP进行桌面程序开发(二):菜单、工具栏和对话框

在使用Eclipse RCP进行桌面程序开发(一):快速起步中,我们通过Eclipse的插件开发向导,逐步建立了一个RCP应用程序,但是,这个程序没有任何功能,难以激起我们学习的兴趣。在这一节,我们将...
  • key_0423
  • key_0423
  • 2013年07月26日 16:20
  • 1142

Unity3D游戏开发之路:我的一周工作总结

大家好,欢迎大家关注我的博客,我是秦元培,我的博客地址是http://blog.csdn.net/qinyuanpei。        到公司上班已经一周了,趁着今天周末休息的时间,想将最近在工作和生...
  • qinyuanpei
  • qinyuanpei
  • 2015年05月23日 18:21
  • 4084

Android应用程序开发之二

  • 2017年12月28日 11:26
  • 1.03MB
  • 下载

《嵌入式linux应用程序开发详解》核心笔记 - 全书

【linux快速入门】 自由软件(free software)中的 free 并不是指免费,而是指自由。它赋予使用者四种自由。 · 自由之一:有使用软件的自由。 · 自由之二:有研究该软件如何运作的...
  • sinat_36184075
  • sinat_36184075
  • 2017年06月04日 22:07
  • 1665

敏捷与高效——手机应用程序开发模式研究

  • 2009年11月19日 17:12
  • 219KB
  • 下载

企业动态网站应用程序开发——输入数据实时校验函数及使用方法(Javascript篇)

  • 2007年09月14日 21:03
  • 185KB
  • 下载

C-#应用程序开发全程演练——从灵感到实现.part2(修整)

  • 2007年06月26日 20:53
  • 9MB
  • 下载

C#应用程序开发全程演练——从灵感到实现2

  • 2008年03月19日 16:15
  • 4.77MB
  • 下载

C#应用程序开发全程演练——从灵感到实现3

  • 2008年03月19日 16:11
  • 4.77MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:RCP应用程序开发之二——核心类总结
举报原因:
原因补充:

(最多只允许输入30个字)