`
卒子99
  • 浏览: 73805 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

RCP应用程序开发系列(2)--创建第一个应用程序

阅读更多

开发环境是用的Eclipse3.1

        首先,创建一个插件工程.选择 File > New > Project... 开始一个新工程向导. 选择Plug-in Project点击 Next.在这一页,输入工程的名字.我直接用的是项目的名称,输入"edu.swust.cs.soapfirewall".

       选择 Next,在这个页面可以输入插件的id, version, name, 等信息.基于工程名字,向导会初始化大部信息,需要改变的是:

      • 去除Plug-in Class选项。可能永远也不会需要一个插件类!如果你的插件需要一些信息在它第一次被访问的时候,这个时候需要插件类
       • 在Rich Client Application组中选择Yes。它会告诉向导在一页显示RCP模板,而不是标准的插件模块。
注意:这儿Classpath 项是空的. 因为在 Eclipse 3.1中,通常是会将插件打包成一个JAR文件. 这样的话,插件本身就在加入了classpath,所以这儿没有必要指定这个值.

       点击Next ,向导会显示 RCP Templates 页面. 这儿可以看到有不同类型的向导.对于入门来说,选择Hello RCP 模板来创建尽最简单的RCP应用程序。

      点击 Next 到下一页,在这个页面, 你可以确认soapfirewall 应用,可以输入窗口标题和透视图名字等.这儿可以改变应用程序窗口的标题。


      点击 Finish 来创建你的第一个Eclipse RCP 应用程序. 这个时候IDE可能会提示你是否打开插件开发透视图.它设置插件开发环境中的许多视图,对于插件开发来说,特别有用. 建议选择 Yes.
当向导结束后,你的工作台包含一个单独的edu.swust.cs.soapfirewall工程, 在工程里的src 文件夹里面包含了模板产生的 Java 源文件.
 

       如果你选择Yes 切换到插件开发透视图,你的新的在插件编辑器中打开.这个编辑器提供了一个综合视图,其中包括了plugin.xml的定义, MANIFEST.MF信息, 和 build.properties文件信息.插件编辑器同时与它们一起工作,使你能在一个编辑器中修改插件的各个信息.
 
       为了演示soapfirewall,在OverView页面的Testing部分点击链接. 点击Launch an Eclipse application 链接运行. 这样它会在自己的JVM中启动Eclipse RCP 应用程序.

       双击MANIFEST.MF文件,打开插件编辑器,可以看到,编辑器底部有插件不同部分的标签。打开Dependencies page 页面,可以看到soapfirewall插件依赖于其它的插件: org.eclipse.core.runtime 和 org.eclipse.ui.

这意味着soapfirewall插件可以使用其它插件暴露的类.它同样意味着在这些类不能在soapfirewall中使用. 这个控制类的可见性(visibility) ,这就是Eclipse模块化的概念,通过使用Eclipse从插件集中构建自己的系统.

        Dependencies 页面还有其它有用的 Dependency Analysis 工具用于帮助你在插件之间导航,找到未使用的依赖等功能

  • 关于其它插件

        你可能会问 "哪些是关于 JFace, SWT,和 OSGi的信息呢?我认为他们也应该是RCP的一部分." 为了找到答案,打开Dependencies页面,点击 Dependency Analysis,就可以看到插件的依赖层次图


       注意的是在Runtime和UI下面还有一些其它插件,例如,org.eclipse.swt,有小箭头在旁边演示。这个箭头说明了插件被他们树层次上的父插件再导出了(re-exported),同样地,任何依赖于UI插件的插件自动依赖于再导出的SWT。相似的,UI重导出了JFace和org.eclipse.ui.workbench

      Rumtime插件重新导出了OSGI,这种依赖链机制可以将其它插件暴露的API作为自身插件的一部分. 例如,UI API 中的类和方法的命名类型可以在SWT中找到.为了保证一个需要UI的插件得到一个一致的依赖链, 所以UI需要重导出SWT。记住,UI 不用重导出它知道的所有依赖插件,只暴露那些作为它的API的部分的插件。

  Extensions 提供了一种机制用于将类连接到Eclipse结构. 在extensions页面展示了soapfirewall透视图扩展. 注意它是怎么列出新的透视图类 (edu.swust.cs.soapfirewall. Perspective) 并链接到org.eclipse.ui.perspectives 扩展点。

  • 关于,Extensions和Extension Points的区别

Extensions是实现其它插件定义的扩展点,是你插件必须要做的事情,比如应用程序必须实现的Application扩展点

 

xml 代码
  1. <extension  
  2.          id="application"  
  3.          point="org.eclipse.core.runtime.applications">  
  4.       <application>  
  5.          <run  
  6.                class="org.eclipsercp.hyperbola.Application">  
  7.          run>  
  8.       application>  
  9.    extension>  

Extension Points则是定义本插件中的扩展点,可以由其它插件来实现,典型的应用如访问数据库的Dao接口等

        所有的RCP应用程序必须定义至少一个透视图; 否则无法部署视图. 每一个 IWorkbenchWindow 都有一个page. 这个page拥有它的编辑器和视图实例,通过使用激活的透视图来决定它的布局. 透视图详细的定义了在什么位置,是否显示组件,例如视图,编辑器区域和动作. 

 

分享到:
评论

相关推荐

    开发您的第一个 Eclipse RCP 应用程序

    Eclipse Rich Client Platform (RCP) 的目标是在各种不是集成开发环境 (IDE) 的最终用户应用程序中使用 Eclipse。随着 Eclipse V3.1 的发布,创建 RCP 应用程序变得...本教程将指导您一步步创建自己的 RCP 应用程序。

    eclipse 3.6 rcp 开发

    将涉及以下内容:创建第一个RCP程序,创建菜单和工具栏,查看,编辑,对话,外部JAR的用法,向一个RCP应用程序产品中添加标志和帮助。每一章都基本独立于其他章节。欢迎访问我的网站——www.xeclipse.com。

    JAVA程序开发大全---上半部分

    19.3 RCP应用程序的开发 333 19.3.1 RCP应用开发初步 333 19.3.2 创建用户自定义的菜单和工具条 338 19.4 本章小结 341 第20章 网上宠物商店(JSP+JavaBean) 342 20.1 系统需求分析与概要设计 342 20.1.1 系统需求...

    Eclipse RCP Plug-in开发自学教程(Eclipse3.6)

    2 创建第一个RCP程序 ........................................................................................................................11 2.1 创建一个RCP程序 ........................................

    Eclipse RCP Plugin 开发自学入门指南(CEC首发)

    的用法,向一个 RCP应用程序产品中添加标志和帮助。 每一章都基本独立于其他章节。 目录 1 富客户端平台 ......................................................................................................

    Eclipse_Swt_Jface_核心应用_部分19

    第1章 Java语言的GUI历史 2 1.1 最初的AWT 2 1.2 Swing工具包 3 1.3 Eclipse的诞生 3 1.4 Eclipse贡献SWT工具包 5 1.4.1 SWT的结构 6 1.4.2 SWT所支持的操作系统 6 1.5 Sun AWT/Swing与Eclipse SWT 7 ...

    Eclipse权威开发指南2.pdf

    1.1 Eclipse作为应用程序开发 工具的宿主...... 4 1.2 不仅仅是工具的宿主,Eclipse 还作为客户端应用程序的 宿主...... 5 1.3 什么是Eclipse?...... 6 1.3.1 工具与应用程序的集成平台..... 6 1.3.2 Java开发...

    Eclipse权威开发指南1.pdf

    1.1 Eclipse作为应用程序开发 工具的宿主...... 4 1.2 不仅仅是工具的宿主,Eclipse 还作为客户端应用程序的 宿主...... 5 1.3 什么是Eclipse?...... 6 1.3.1 工具与应用程序的集成平台..... 6 1.3.2...

    Eclipse权威开发指南3.pdf

    1.1 Eclipse作为应用程序开发 工具的宿主...... 4 1.2 不仅仅是工具的宿主,Eclipse 还作为客户端应用程序的 宿主...... 5 1.3 什么是Eclipse?...... 6 1.3.1 工具与应用程序的集成平台..... 6 1.3.2...

    单点登录源码

    通用用户管理系统, 实现最常用的用户注册、登录、资料管理、个人中心、第三方登录等基本需求,支持扩展二次开发。 &gt; zheng-wechat-mp 微信公众号管理平台,除实现官网后台自动回复、菜单管理、素材管理、用户管理...

    java翻牌源码-BUMMEL:逻辑电路模拟器

    这个名字是缩写,其中第一部分是项目创建者的户口名称(B 0xer,U阁,男cangel),第二部分代表对M iracleélectronics-b中。 一点故事 这个项目是基于伊万弗兰科利沃夫国立大学的教育目的开始的。 目前我们主要关心...

    worldwindjava源码-maru:卫星任务场景模拟器

    是一个卫星任务规划应用程序。 它的主要功能是显示卫星轨道并创建报告以供进一步处理。 它在很大程度上依赖于优秀的图书馆和其他外部资源。 该程序是用 Java 编写的,基于 Eclipse RCP。 Maru 在 Windows 和 Linux ...

Global site tag (gtag.js) - Google Analytics