OSGi的基本原理(1)_Java Eclipse RCP

基本概念

在eclipse项目开始之初,并没有创建RCP的意图。本意是要开发一个集成开发工具的平台。RCP是富客户端平台的缩写。所谓富客户端,就是用来区分终端客户端和简单界面的客户端。当然,我们现在看到的绝大部分消费级商业程序都属于富客户端。一些欣赏eclipse界面的黑客将eclipse改造为了一个可以开发其他他们需要的程序的平台。后来,这被社区所接受。此时,eclipse百年城了一个组件的框架,而实现基本功能的单元被称为插件(bundle、plug-in)。
OSGi(open service gateway initiative)是面向java的动态模型系统,提供一种面向服务的架构,使这些组件可以动态的发现对方。这个框架可以被划分为四个层次:
L0: 运行环境
L1: 模块
L2: 生命周期管理
L3: 服务注册
(安全层在其中的每一层都有)
OSGi 是目前动态模块系统的事实上的工业标准。 Equinox(OSGi R4 RI) 则是的 Eclipse 所使用的 OSGi 框架。
对于用户而言,workbench(工作台)就是一个窗口集。而一个workbench可以有一个或者多个透视图(perspective)。而透视图包含一个或多个视图(view)和编辑器(editor)。视图是工作台内可以可视组件,通常就是用来浏览分层信息(工作台中的资源),打开编辑器等。一个工作台窗口只能有一个特定类型视图的一个实例。在视图中做出的修改会立即保存。而编辑器可以用来修改和浏览资源,遵循打开,保存,关闭这一生命周期模型。一个工作台窗口内可以有一个编辑器类型的多个实例。
常用的java图形库有三种,分别是swing,awt和swt。前两者是java语言自带的,swt是原来IBM领导的开源项目,这也就意味着发布时必须带上特定的库文件。SWT的底层是由C编写,所以执行效率非常高,这点和awt一样,都是调用系统层的GUI api。而JFace是对Swt的封装。

基本代码架构

(1)首先,系统必须要有一个application类。实现了IApplication的接口。在类的内部,要实现一个start方法。请将这个方法理解为你main函数。
(2)在上述方法中,需要一个Display对象(无所谓)ApplicationWorkbenchAdvisor对象(下面介绍)来创建一个Workbench对象。这将打开一个窗口和事件循环。
(3)ApplicationWorkbenchAdvisor是程序中最重要的内容。顾名思义,他告诉workbench该如何做,做什么:比如要显示的初始透视图,要使用的workbenchwindowadvisor。
(4)最初的透视图由它的标识符确定。
(5)每一个窗口都有一个workbenchwindowadvisor。
(6)actionbar

目 录 1.富客户端平台 1 1.1.概述 1 1.2.Eclipse RCP 建设风格——插件,扩展和扩展点 1 2.创建你的第一个RCP程序 1 2.1.创建一个RCP程序 2 2.2.启动你的RCP程序 5 2.3.应用程序VS 产品 6 3.应用程序里的插件ID 7 4.Actions的用法(菜单和工具栏) 7 4.1.概述 7 4.2.通过编码添加 8 4.3.由“扩展”方式向程序添加菜单和工具栏 11 5.添加组合键 19 5.1.概述 19 5.2.声明actions的组合键 19 6.系统托盘 24 7.外观 30 7.1.向程序中添加视图模板 31 7.2.向应用程序添加VIEW 36 7.3.向VIEW里添加action 40 8.和编辑器一起工作 51 8.1.概述 51 8.2.创建工程 51 8.3.创建并准备domain 模型 51 8.4.在视口中使用domain模型 57 8.5.加入编辑器 58 8.6.调用编辑器 66 8.7.向编辑器提供内容 70 9.对话框 71 9.1概述 71 9.2.预定义的对话框 71 9.2.1.概述 71 9.2.2.创建工程 71 9.2.3.声明action 71 9.2.4.调用对话框 71 9.3.用户自定义对话框 74 9.3.1.概述 74 9.3.2.创建工程 74 9.3.3.声明action 74 9.3.4.声明action 74 9.3.5.创建对话框 75 10.向导(wizard) 77 10.1.概述 77 10.2.例子 77 11.首选项 85 11.1 首选项 85 11.2.使用首选项 85 11.3.首选项页 91 12.添加状态条 97 12.1.安装状态条 97 12.2.共享状态条 98 13.透视 103 13.1.向你的程序中添加透视图 103 13.2.使透视图可选。 107 13.2.1.使透视图可由一个coolbar可选 107 13.2.2.使透视图可通过菜单选择。 109 14.进度报告 112 15.将外部类包含进你的程序 118 15.1.概述 118 15.2.向构建路径中添加jar 118 15.3.使jar在你的运行路径里有效 119 16.提示和策略 120 16.1.控制台日志 120 16.2.保存用户的布局 121 16.3.获得display 122 16.4.使用eclipse的“保存”action 123 16.5.装载模型 127 16.6.向你的程序添加错误日志视口 127 17.制造一个产品 129 17.1.概述 129 17.2.创建一个工程 130 17.3.测试你的产品 134 18.商标 134 18.1.欢迎页面 134 18.2.商标 135 18.3.风格化launcher 136 19.发布你的产品 137 20.发布引入外部jar的产品 141 20.1.整合外部jar和第三方库 141 Tip 142 21.1.创建一个新工程 144 21.2.创建一个产品 144 21.3.添加依赖性 145 21.4.向程序中添加action 146 21.5.创建一个帮助插件工程////原著写的不好 149 22.附录:配置文件 152 22.1.概述 152 22.2..project 153 22.3.Manifest.MF 154 23.附录:使用接口技术 154 23.2.Jface 154
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值