词条 | Eclipse插件开发方法与实战 |
释义 | 基本信息作者: 甘树满 王秀明丛书名: Java开发专家 出版社:电子工业出版社 ISBN:7121031809 上架时间:2006-12-5 出版日期:2006 年10月 开本:16开 页码:453 版次:1-1 内容简介初涉eclipse开发的读者,就像深陷丛林的冒险者,多少会有点迷茫。如果你是一位非常优秀的探险家,凭直觉可能很快就会找到出路。但如果你在这方面缺乏经验的话,最终可能会找到出口,但一定会走很多弯路。本书并不能算“指南针”性的教材,但希望能引领读者认识eclipse的真面目,并能快速融入到 eclipse的开发中去。. 本书分为4个部分共24章,以插件开发为中心,围绕插件开发主要介绍swt/jface的应用、插件扩展点的实现,以及gef、emf和rcp的相关知识。本书所有讲解的范例都能在附书光盘中找到可运行的源代码,并且已经按章节归类。本书语言深入浅出,通俗易懂,通过大量具有典型性和实用价值的实例,以及形象的比喻,把复杂的问题和难懂的概念简单化,从多个方面引导读者进入eclipse插件开发。.. 附书光盘内容为书中实例源代码及相关插件。 本书对于eclipse插件开发的新手和有一定eclipse开发经验的程序员普遍适用。 目录第1部分 eclipse入门篇. 第1章 eclipse概述 3 1.1 eclipse项目背景 3 1.2 eclipse简介 3 1.2.1 开放式体系结构 4 1.2.2 平台体系结构 4 1.3 eclipse的主要功能特性 5 1.3.1 文件存放(workspace) 5 1.3.2 eclipse开发环境(workbench) 6 1.3.3 编译与运行 7 1.3.4 版本管理 7 1.4 工作台 8 1.4.1 资源 8 1.4.2 资源层次结构 8 1.4.3 构建 8 1.5 运行时概述 9 1.5.1 运行时插件模型 9 1.5.2 插件 10 1.5.3 bundle 10 1.6 开源的选择 11 .1.7 小结 12 第2章 eclipse安装及java开发 13 2.1 eclipse开发环境的安装 13 2.1.1 jdk安装 13 2.1.2 eclipse安装 14 2.2 java开发工具jdt 14 2.2.1 视角 14 2.2.2 视图 15 2.2.3 编辑器 16 2.3 在eclipse中开发java程序 16 2.3.1 java项目 16 2.3.2 新建“hello,world”程序 17 2.3.3 运行程序与调试 18 2.3.4 类的构建路径 19 2.3.5 项目构建 20 2.4 其他功能 20 2.4.1 查看源代码 20 2.4.2 重构 21 2.4.3 生成javadoc文档 21 2.5 eclipse快捷键 22 2.5.1 编辑相关快捷键 22 2.5.2 查看和定位快捷键 23 2.5.3 调试快捷键 24 2.5.4 常用编辑器快捷键 24 2.5.5 其他快捷键 24 2.6 小结 25 第3章 eclipse的使用 27 3.1 eclipse插件安装 27 3.1.1 拷贝安装 27 3.1.2 links安装 28 3.1.3 update安装 29 3.1.4 查看插件 30 3.2 开发简单的web应用 31 3.2.1 安装配置myeclipse 31 3.2.2 创建web应用 32 3.2.3 部署并运行web应用 35 3.3 小结 36 第2部分 swtjface开发篇 第4章 swt/jface 入门 39 4.1 swt/jface简介 39 4.1.1 swt/jface概述 39 4.2.2 swt/jface基本特性 40 4.2 swt“hello world”程序 41 4.2.1 加入swt依赖的包 41 4.2.2 “hello world”程序 43 4.2.3 运行“hello world”程序 43 4.3 jface“hello world”程序 44 4.3.1 “hello world”程序 44 4.3.2 运行“hello world”程序 45 4.4 在swt中使用swing组件 46 4.4.1 在swt的组件上加入swing的组件 46 4.4.2 程序运行效果 48 4.5 小结 48 第5章 swt常用组件 49 5.1 control类 49 5.1.1 control类的继承关系 49 5.1.2 control类的常用方法 49 5.2 button组件 50 5.2.1 button组件实例 50 5.2.2 button组件的风格 52 5.2.3 button组件的对齐方式 52 5.2.4 加入图片及按钮组合属性 52 5.3 label组件 53 5.3.1 label组件实例 53 5.3.2 label组件的风格和对齐方式 54 5.3.3 加入图片及组合属性 55 5.4 text组件 55 5.4.1 text组件实例 55 5.4.2 text组件的风格 56 5.5 combo组件 57 5.5.1 combo组件实例 57 5.5.2 combo组件的风格 59 5.6 list组件 59 5.6.1 list组件实例 59 5.6.2 list组件的风格 61 5.7 小结 61 第6章 swt事件 63 6.1 鼠标事件 63 6.1.1 mouselistener接口 63 6.1.2 mousemovelistener接口 64 6.1.3 mousetracklistener接口 64 6.1.4 鼠标事件实例 65 6.2 键盘事件 67 6.2.1 keylistener接口 67 6.2.2 键盘事件实例 67 6.3 焦点事件 69 6.3.1 focuslistener接口 69 6.3.2 焦点事件实例 69 6.4 窗口控制事件 71 6.4.1 controllistener接口 71 6.4.2 窗口控制事件实例 71 6.5 选择组件事件 72 6.5.1 selectionlistener接口 73 6.5.2 选择组件事件实例 73 6.6 其他常用事件 74 6.6.1 helplistener、verifylistener和modifylistener监听器的功能 74 6.6.2 helplistener、verifylistener和modifylistener监听器实例 75 6.7 小结 77 第7章 swt布局管理 79 7.1 概述 79 7.2 filllayout布局 80 7.2.1 filllayout的风格 80 7.2.2 filllayout布局实例 80 7.3 rowlayout布局 82 7.3.1 rowlayout的风格 82 7.3.2 rowlayout布局实例 83 7.4 gridlayout布局 84 7.4.1 gridlayout的风格 85 7.4.2 griddata的相关属性 85 7.4.3 gridlayout 布局实例 87 7.5 formlayout布局 91 7.5.1 formlayout布局信息 91 7.5.2 formlayout布局实例 92 7.6 创建自己的布局 96 7.6.1 layout类 96 7.6.2 创建自己的布局类 97 7.7 小结 100 第8章 swt容器及其他组件 101 8.1 swt容器 101 8.1.1 composite组件 101 8.1.2 group组件 102 8.1.3 tabfolder和tabitem组件 104 8.1.4 sashform组件 105 8.2 菜单和工具栏 108 8.2.1 menu和menuitem组件 108 8.2.2 toolbar和toolitem组件 111 8.2.3 coolbar和coolitem组件 113 8.3 其他组件 115 8.3.1 slider组件 115 8.3.2 scale组件 116 8.3.3 progressbar组件 118 8.4 小结 120 第9章 viewer组件 121 9.1 treeviewer 121 9.1.1 treeviewer构建步骤 121 9.1.2 内容提供器(itreecontentprovider) 121 9.1.3 标签提供器(ilabelprovider) 123 9.1.4 treeviewer实例 123 9.2 tableviewer 127 9.2.1 tableviewer构建步骤 127 9.2.2 内容提供器(istructured contentprovider) 128 9.2.3 标签提供器(itablelabelprovider) 128 9.2.4 tableviewer实例 129 9.3 listviewer 138 9.3.1 listviewer功能 138 9.3.2 listviewer实例 138 9.4 小结 142 第10章 对话框 143 10.1 消息对话框 143 10.1.1 消息对话框的功能 143 10.1.2 消息对话框实例 144 10.2 输入对话框 147 10.2.1 输入对话框的功能 147 10.2.2 输入对话框实例 147 10.3 进度监视对话框 149 10.3.1 进度监视对话框的功能 149 10.3.2 进度监视对话框实例 150 10.4 自定义对话框 153 10.4.1 带标题区域对话框 153 10.4.2 自定义对话框实例 153 10.5 常用系统对话框 156 10.5.1 打印对话框(printdialog) 157 10.5.2 颜色对话框(colordialog) 157 10.5.3 字体对话框(fontdialog) 158 10.5.4 文件对话框(filedialog) 159 10.5.5 目录对话框(directorydialog) 159 10.6 小结 160 第11章 swt的其他应用 161 11.1 拖放 161 11.1.1 拖放的功能 161 11.1.2 拖放的实现 162 11.2 线程 164 11.2.1 线程同步和异步 164 11.2.2 线程同步和异步的实现 164 11.3 剪贴板 166 11.3.1 剪贴板的功能 166 11.3.2 剪贴板的实现 166 11.4 图形上下文 168 11.4.1 图形上下文的实现 168 11.4.2 自定义组件 170 11.5 鼠标形状(cursor) 172 11.6 小结 174 第3部分 eclipse插件开发篇 第12章 插件入门 177 12.1 什么是插件 177 12.2 一个简单的插件 178 12.2.1 创建“hello,world”插件 178 12.2.2 调试“hello,world”插件 179 12.2.3 插件打包 180 12.3 插件清单文件介绍 181 12.3.1 overview:描述了插件的基本信息 182 12.3.2 dependencies:描述了插件的依赖关系 182 12.3.3 runtime:指明了运行时的classpath 183 12.3.4 extensions:指明插件实现的扩展点 183 12.3.5 extension points:指明了用户插件提供的扩展点 184 12.4 常用扩展点的描述 185 12.4.1 org.eclipse.ui.editors:代表一个编辑器窗口 185 12.4.2 org.eclipse.ui.views:代表一个视图窗口 185 12.4.3 org.eclipse.ui.perspectives:代表一个扩展视角 187 12.5 小结 187 第13章 视图扩展点的实现 189 13.1 views扩展点的介绍 189 13.1.1 视图分类 189 13.1.2 常用视图可实现的功能 190 13.2 “hello,world”视图 190 13.2.1 创建“hello,world”视图插件 190 13.2.2 “hello,world”插件扩展点 191 13.2.3 “org.eclipse.ui.views”扩展点的实现类“helloworldview” 193 13.2.4 运行“hello,world”视图 194 13.3 “tree viewer”视图 195 13.3.1 创建“tree viewer”视图插件 195 13.3.2 “tree viewer”插件扩展点 196 13.3.3 “org.eclipse.ui.views”扩展点的实现类“treeviewtest” 196 13.3.4 运行“tree viewer”视图 202 13.4 “image viewer”视图 202 13.4.1 创建“image viewer”视图插件 202 13.4.2 “org.eclipse.ui.viewactions”扩展点的实现类“pushactiondelegate” 205 13.4.3 “org.eclipse.ui.views”扩展点的实现类“imageview” 206 13.4.4 运行“image viewer”视图 207 13.5 debug视图的实现.. 208 13.5.1 查找debug插件 208 13.5.2 导入debug插件 208 13.5.3 debug插件中视图的扩展点 209 13.6 小结 211 第14章 编辑器扩展点的实现 213 14.1 editors扩展点的介绍 213 14.1.1 编辑器分类 213 14.1.2 常用编辑器可实现的功能 213 14.1.3 编辑器和视图的区别 214 14.2 “hello,world”编辑器 214 14.2.1 “hello,world”编辑器插件 214 14.2.2 “hello,world”插件扩展点 215 14.2.3 “org.eclipse.ui.editors”扩展点的实现类“helloworldeditor” 216 14.2.4 运行“hello,world”编辑器 218 14.3 多页签编辑器的实现 219 14.3.1 创建多页签编辑器插件 219 14.3.2 多页签编辑器插件扩展点 220 14.3.3 “org.eclipse.ui.editors”扩展点的实现类“multipageeditor” 220 14.3.4 “org.eclipse.ui.editors”扩展点的辅助类“multipageeditor contributor” 225 14.3.5 运行多页签编辑器 227 14.4 简单的文本编辑器 227 14.4.1 创建文本编辑器插件 227 14.4.2 “org.eclipse.ui.editors”扩展点的实现类“fileeditor” 228 14.4.3 运行文本编辑器 231 14.5 小结 231 第15章 项目相关扩展点的实现 233 15.1 项目中常用的扩展 233 15.2 视角 233 15.2.1 简介 234 15.2.2 “org.eclipse.ui.perspective extensions”扩展点 234 15.2.3 “org.eclipse.ui.perspectives”扩展点 237 15.3 菜单工具栏 239 15.3.1 “org.eclipse.ui.actionsets”扩展点信息 239 15.3.2 “org.eclipse.ui.actionsets”扩展点的实现类“sampleaction” 240 15.4 项目相关特性 241 15.4.1 项目扩展点 241 15.4.2 “org.eclipse.core.resources. natures”扩展点及实现类 241 15.4.3 “org.eclipse.core.resources. builders”扩展点及实现类 243 15.4.4 “org.eclipse.ui.newwizards”扩展点及实现类 246 15.4.5 “org.eclipse.ui.preferencepages”扩展点及实现类 249 15.5 小结 252 第16章 帮助相关扩展点的实现 253 16.1 联机帮助 253 16.1.1 联机帮助扩展点的实现 253 16.1.2 联机帮助文档的结构 254 16.1.3 在联机帮助中在线调用java类 256 16.2 欢迎界面帮助 257 16.2.1 产品扩展点 258 16.2.2 欢迎界面扩展点 258 16.2.3 插件清单文件 259 16.2.4 扩展点实现类 259 16.2.5 调试欢迎界面插件 261 16.3 上下文帮助 261 16.3.1 定义上下文帮助 261 16.3.2 定义弹出菜单和相应对话框 262 16.3.3 运行上下文帮助插件 264 16.4 小结 266 第17章 其他扩展点的实现 267 17.1 startup扩展点的实现 267 17.1.1 “org.eclipse.ui.startup”扩展点的实现 267 17.1.2 “org.eclipse.ui.startup”对应的实现类 267 17.1.3 “org.eclipse.ui.startup”对应插件运行效果 268 17.2 “propertypages”扩展点的实现 268 17.2.1 “org.eclipse.ui.propertypages”扩展点的实现 268 17.2.2 “org.eclipse.ui.propertypages”对应的实现类 269 17.2.3 “org.eclipse.ui.propertypages”对应插件运行效果 272 17.3 小结 273 第18章 插件开发辅助功能 275 18.1 属性视图 275 18.1.1 ipropertysource接口 276 18.1.2 属性视图的实现 277 18.2 大纲视图 279 18.2.1 icontentoutlinepage接口 279 18.2.2 大纲视图的实现 281 18.3 构造editorinput 282 18.3.1 ieditorinput接口 282 18.3.2 ieditorinput的实现 283 18.4 操纵编辑器 285 18.4.1 查找编辑器 285 18.4.2 打开和关闭编辑器 286 18.5 插件国际化 286 18.5.1 国际化插件的创建 287 18.5.2 类的国际化 287 18.5.3 plugin.xml文件格式化 289 18.5.4 调试国际化插件 289 18.6 小结 290 第4部分 eclipse提高篇 第19章 draw2d简介及实现 293 19.1 draw2d简介 293 19.1.1 draw2d简介 293 19.1.2 “hello world”实现 294 19.2 图形 295 19.2.1 图形(figure)的功能 295 19.2.2 图形的实现 295 19.3 连线 296 19.3.1 连线(connection)的功能 297 19.3.2 连线的实现 297 19.4 uml关系图实现 299 19.4.1 uml关系图实现的要求 299 19.4.2 compartmentfigure实现 300 19.4.3 umlclassfigure实现 301 19.4.4 连线及测试类 302 19.5 小结 304 第20章 gef原理及实现 305 20.1 gef概述 305 20.1.1 gef简介 305 20.1.2 gef工作原理 305 20.2 模型 306 20.2.1 模型的功能 306 20.2.2 模型的实现 306 20.3 视图 311 20.3.1 视图的功能 311 20.3.2 视图的实现 311 20.4 控制器 312 20.4.1 控制器的功能 312 20.4.2 控制器的实现 313 20.5 请求和编辑策略 316 20.5.1 请求和编辑策略(request and editpolicies) 316 20.5.2 编辑策略的实现 317 20.6 命令 318 20.6.1 命令(commands)的功能 318 20.6.2 命令的实现 318 20.7 模型同步 320 20.7.1 模型同步的功能 320 20.7.2 模型同步的实现 320 20.8 选项板 321 20.8.1 选项板(paletteroot)的功能 321 20.8.2 选项板的实现 322 20.9 小结 323 第21章 gef表模型编辑器的实现 325 21.1 程序的软件结构 325 21.1.1 实现功能 325 21.1.2 程序的界面要求 326 21.2 编辑器的实现 326 21.2.1 编辑器的功能 326 21.2.2 编辑器的实现 327 21.3 模型的实现 334 21.3.1 propertyawareobject类 334 21.3.2 table类 335 21.3.3 column类 339 21.3.4 schema类 341 21.3.5 relationship类 343 21.4 视图的实现 344 21.4.1 tablefigure类 344 21.4.2 schemafigure类 346 21.4.3 columnsfigure类 346 21.5 控制器的实现 347 21.5.1 tablepart的实现 348 21.5.2 relationshippart的实现 357 21.6 editpartfactory和palette的实现 359 21.6.1 schemaeditpartfactory 359 21.6.2 paletteroot 360 21.7 editpolicy的实现 362 21.7.1 tablenodeeditpolicy(模型连线的编辑策略) 362 21.7.2 tablelayouteditpolicy(子模型布局的编辑策略) 364 21.7.3 tablecontainereditpolicy(处理模型创建请求的编辑策略) 366 21.7.4 tableeditpolicy(模型编辑的编辑策略) 367 21.7.5 tabledirecteditpolicy(处理直接编辑的编辑策略) 368 21.8 command的实现 369 21.8.1 模型连线命令 369 21.8.2 模型拖动命令 372 21.8.3 模型创建命令 373 21.8.4 模型删除命令 374 21.8.5 模型直接编辑命令 377 21.9 大纲的实现 378 21.10 小结 380 第22章 emf的使用 381 22.1 emf的简介 381 22.2 使用emf生成模型 382 22.2.1 定制类关系图 382 22.2.2 生成模型代码 383 22.3 在gef框架中使用emf模型 384 22.3.1 模型 384 22.3.2 editpart的修改 384 22.3.3 elementfactory的修改 385 22.3.4 处理自定义数据类型 386 22.3.5 保存和载入模型 387 22.4 小结 388 第23章 rcp技术 389 23.1 rcp的简介 389 23.2 建立一个rcp的应用 389 23.2.1 创建rcp应用 390 23.2.2 运行rcp应用 390 23.2.3 导出rcp应用 391 23.3 rcp的组成部分 393 23.3.1 plugin.xml 393 23.3.2 应用的入口application 395 23.3.3 工作台applicationworkbench advisor 395 23.3.4 工作台窗口application workbenchwindowadvisor 397 23.3.5 工作台“action bar”applicationactionbaradvisor 397 23.3.6 应用的视角(perspective) 399 23.4 小结 400 第24章 eclipse进阶 401 24.1 选择与监听 401 24.1.1 选择事件提供者(selection provider) 402 24.1.2 选择服务(selection service) 403 24.1.3 选择事件监听器(selection listener) 404 24.1.4 实例 405 24.2 命令堆栈 408 24.2.1 命令堆栈(commandstack) 408 24.2.2 监听器 410 24.3 适配器 410 24.3.1 适配器接口(iadaptable) 411 24.3.2 适配器的实现 412 24.4 ui持久化 413 24.4.1 持久化机制 413 24.4.2 ui持久化与恢复的实现 414 24.5 深入workbench 418 24.5.1 workbench中实现类的关系 418 24.5.2 part的生命周期 419 24.6 资源监听与访问 421 24.6.1 资源监听器 421 24.6.2 资源访问器 422 24.6.3 资源监听的实现 423 24.7 小结 425 附录a 插件资源列表 427 附录b 插件开发法则 431 b.1 扩展者法则 431 b.2 促成者法则 431 b.3 发布者法则 432 附录c 在eclipse中使用junit 433 c.1 junit简介 433 c.2 eclipse开发、调试测试程序 434 附录d visual editor 437 d.1 eclipse visual editor项目介绍 437 d.2 visual editor的内幕 437 d.3 利用visual editor开发awt/swing应用程序 438 d.4 visual editor工具 438 d.5 创建和启用用户接口 440 d.6 运行visual class 441 d.7 visual editor对eclipse的贡献 442 附录e cvs版本管理 447 e.1 相关术语 447 e.2 工作模式 448 e.3 模块的输入与签出 448 e.4 日常操作... 450 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。