eclipse_rcp教程.docVIP

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
简单RCP框架源码分析 关键字: RCP框架 在我们新建一个RCP应用程序框架时,eclipse会为我们自动生成若干个类: 网上也有很多关于“Hello RCP”的分析说明,但都聚集在类功能分析,没有源代码的分析。下面着重分析一下其中的某些不易理解的类以及其中涉及到的其它类的源代码。 Application类: 是RCP应用程序的入口点,你可以把它想象成程序的控制器,类似于Model2架构中的控制器。它很简短,而且在不同的项目中变化不大;它所做的就是创建 一个工作台Workbench,同时将其于一个WorkbenchAdvisor联系起来。Workbench是RCP框架的一部分,一个RCP应用对应 一个Workbench,但一个???? Workbench可以有多个Workbench窗口。 ApplicationWorkbenchAdvisor类:继承了WorkbenchAdvisor类,提供了两个方法,其中createWorkbenchWindowAdvisor方法将创建窗口的工作交给了ApplicationWorkbenchWindowAdvisor类。 WorkbenchAdvisor类: 该类不是一个接口,而是一个抽象类,它不包含任何的功能实现,因为将来很有可能在其中添加其它方法。Eclipse的设计者们希望每个RCP应用都实现 它,由平台来调用。Workbench和Workbench?Window生命周期中的有一些重要事件,这些事件在WorkbenchAdvisor中都 有相应的方法,Platform调用这些方法从而执行你的定制代码。 表1. WorkbenchAdvisor提供的事件处理方法 方法 描述 参数 initialize 第一个被调用,用来初始化,比如解析命令行,注册适配器,声明图像等。 IWorkbenchConfigurer preStartup 在初始化结束,但是在第一个窗口打开前调用。可以被用来设置一些选项来影响初始打开的编辑器和视图。 ? postStartup 在所有窗口已经被打开或恢复后,但是在事件循环开始前调用。它可以被用来启动自动处理器,打开提示或其他窗口。 ? preShutdown ?在事件循环结束后,但在任何窗口被关闭前调用。 ? postShutdown 在关闭Workbench过程中,所有窗口被关闭后调用。它可以被用来存储当前的应用状态和清理任何由initialize创建的东西。 ? 表2. WorkbenchAdvisor提供的事件循环钩子 方法 描述 参数 eventLoopException 在事件循环中如果有未检测的异常则调用给方法。默认的实现将记录错误信息。 Throwable eventLoopIdle 时间循环时什么也不做时调用 Display 表3. WorkbenchAdvisor提供的信息获取方法,你可以在子类中覆盖 方法 描述 参数 getDefaultPageInput 返回新的Workbench页面的缺省输入,缺省值是null。 ? getInitialWindowPerspectiveId 返回新创建的Workbench?Window的初始透视图。这个方法必须提供。 ? getMainPreferencePageId 返回第一个显示的首选参数页。缺省为null意味着首选参数页按字母顺序排序。 ? ????上面的WorkbenchAdvisor事件对大多数应用来说是足够了,但是在某些情况,RCP又提供了两个方法来控制你的应用窗口和控件如何被创建。它们被列在表4,但是我觉得很多程序不需要用到这些。 表4. WorkbenchAdvisor提供的高级方法 方法 描述 参数 openWindows 在启动时打开所有Workbench?Window。缺省实现会恢复前面存储的Workbench状态。 ? 其它的方法在eclipse3.1后都被覆盖了。 ApplicationWorkbenchWindowAdvisor类:用来控制状态栏,工具栏,标题和窗口的大小等。但它将创建工具栏的任务交给了ApplicationActionBarAdvisor类。 WorkbenchWindowAdvisor类:查阅Javadoc文档可知,它是配置workbench窗口的公共基类。当窗口被创建时,该类就会被创建,用来配置窗口。用户应该继承该类并覆盖其中的某些方法来满足特定的需求。 表5. WorkbenchWindowAdvisor提供的生命事件点 方法 描述 参数 preWindowOpen 在Workbench?Window的构造器中调用。可以使用这个方法来指定窗口是否有菜单栏。然而,窗口的widget还没有创建,因此在这

文档评论(0)

精华文档888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档