本书由资深的Eclipse专家亲自执笔,并得到了Eclipse官方技术社区的强烈推荐,权威性毋庸置疑!内容全面,系统讲解了利用Eclipse RCP和Spring OSGi开发大规模Java应用的核心技术;实战性强,包含大量易于操作的案例和最佳实践。
全书一共3个部分:基础篇(1~5章)详细介绍了与Eclipse RCP相关的一系列核心概念、Eclipse RCP开发环境的搭建,以及SWT、JFace、Forms、Nebula和WindowBuilder等Eclipse RCP开发所常用的界面编程技术;高级篇(6~12章)系统讲解了Eclipse RCP应用开发的基础知识、Eclipse RCP软件产品各个组成部分的构建方法,以及Eclipse RCP扩展的使用和扩展点的开发,掌握这些技术知识读者将能构建一个结构完整的Eclipse RCP软件,并解决软件开发过程中遇到的故障;实战篇(13~15章)详细讲解了Eclipse RCP与Spring OSGi框架、Hibernate ORM框架、JPA规范、Maven工具的整合,以及它与Java的模块化设计。
封面图
目录
- 推荐序
- 前言
- 第一部分基础篇
- 第1章初识Eclipse RCP / 2
- 1.1Eclipse平台概述 / 2
- 1.2Eclipse RCP概述 / 2
- 1.3Eclipse RCP的应用 / 3
- 1.4OSGi与Equinox / 5
- 1.5SWT与JFace / 7
- 1.6小结 / 7
- 第2章搭建Eclipse RCP开发环境 / 8
- 2.1JDK的安装与配置 / 8
- 2.1.1下载JDK安装程序 / 8
- 2.1.2安装JDK运行程序 / 8
- 2.1.3配置JDK运行环境 / 10
- 2.1.4测试JDK安装状态 / 11
- 2.1.5卸载JDK应用程序 / 11
- 2.2安装Eclipse IDE / 12
- 2.2.1Eclipse开发包 / 12
- 2.2.2Eclipse版本更新 / 13
- 2.2.3下载Eclipse / 14
- 2.2.4安装Eclipse / 14
- 2.2.5技术资源 / 14
- 2.3Maven的安装与配置 / 14
- 2.3.1Maven介绍 / 14
- 2.3.2下载Maven / 15
- 2.3.3安装Maven / 15
- 2.3.4测试Maven / 16
- 2.3.5修改Maven的配置文件 / 16
- 2.3.6技术资源 / 17
- 2.4Maven和Eclipse的集成 / 17
- 2.4.1安装Maven Eclipse插件 / 17
- 2.4.2配置Maven Eclipse插件 / 18
- 2.4.3技术资源 / 18
- 2.5安装Spring IDE Plugin / 19
- 2.5.1Spring IDE介绍 / 19
- 2.5.2安装Spring IDE插件 / 19
- 2.5.3技术资源 / 19
- 2.6安装WindowBuilderProPlugin / 20
- 2.6.1WindowBuilder介绍 / 20
- 2.6.2安装WindowBuilder插件 / 21
- 2.7小结 / 21
- 第3章SWT界面设计详解 / 22
- 3.1SWT介绍 / 22
- 3.2WindowBuilder插件初识 / 23
- 3.2.1设计视图 / 23
- 3.2.2源码视图 / 24
- 3.2.3结构视图 / 26
- 3.3SWT设计面板 / 26
- 3.4SWT设计准备 / 27
- 3.4.1Element / 27
- 3.4.2ElementFactory / 28
- 3.5Shell使用入门 / 30
- 3.5.1Shell样式 / 30
- 3.5.2Shell TRIM / 30
- 3.5.3Shell模态类型 / 31
- 3.6容器使用入门 / 33
- 3.6.1Composite / 33
- 3.6.2Group / 34
- 3.6.3ScrolledComposit / 35
- 3.6.4SashForm / 36
- 3.6.5TabFolder与TabItem / 36
- 3.6.6CTabFolder与CTabItem / 37
- 3.6.7ViewForm / 38
- 3.6.8CBanner / 40
- 3.7容器使用进阶 / 41
- 3.7.1checkSubclass方法 / 41
- 3.7.2界面复用 / 42
- 3.7.3添加自定义的Component / 44
- 3.7.4背景模式 / 45
- 3.7.5带分隔条的SashForm / 47
- 3.8布局使用入门 / 48
- 3.8.1AbsoluteLayout / 48
- 3.8.2FillLayout / 49
- 3.8.3GridLayout / 50
- 3.8.4FormLayout / 51
- 3.8.5RowLayout / 52
- 3.8.6StackLayout / 53
- 3.8.7GroupLayout / 54
- 3.8.8FlowLayout / 55
- 3.8.9BoxLayout / 56
- 3.8.10BorderLayout / 57
- 3.9布局使用进阶 / 58
- 3.9.1使用AbsoluteLayout / 58
- 3.9.2 使用GridLayout / 59
- 3.9.3StackLayout / 59
- 3.10控件使用入门 / 60
- 3.10.1Label / 60
- 3.10.2 CLabel / 61
- 3.10.3Separator / 62
- 3.10.4 Text / 63
- 3.10.5StyledText / 63
- 3.10.6Combo / 64
- 3.10.7 CCombo / 64
- 3.10.8List / 65
- 3.10.9Button / 66
- 3.10.10DateTime / 68
- 3.10.11Spinner / 68
- 3.10.12Slider / 69
- 3.10.13Scale / 70
- 3.10.14Link / 70
- 3.10.15ToolBar与ToolItem / 71
- 3.10.16CoolBar与CoolItem / 73
- 3.10.17ExpandBar与ExpandItem / 74
- 3.10.18ProgressBar / 75
- 3.10.19Browser / 76
- 3.10.20Canvas / 77
- 3.10.21TrayItem / 77
- 3.10.22Table / 78
- 3.10.23Tree / 80
- 3.10.24TableTree / 81
- 3.11控件使用进阶 / 83
- 3.11.1创建Simple Table / 83
- 3.11.2创建Lazy Table / 86
- 3.11.3创建Virtual Table / 89
- 3.11.4Virtual Table注意事项 / 92
- 3.11.5Virtual Table排序 / 94
- 3.11.6创建Lazy Tree / 95
- 3.11.7创建Virtual Tree / 100
- 3.11.8创建TreeVirtualDynamic / 104
- 3.11.9创建POJOComposite / 106
- 3.11.10如何与浏览器交互 / 107
- 3.12菜单使用入门 / 111
- 3.12.1Menu Bar组件 / 111
- 3.12.2 Popup Menu / 112
- 3.12.3 MenuItem / 113
- 3.13菜单使用进阶 / 113
- 3.14技术资源 / 113
- 3.15小结 / 114
- 第4章JFace界面设计详解 / 115
- 4.1MVC设计思想 / 115
- 4.1.1MVC模式 / 115
- 4.1.2 Java与MVC模式 / 116
- 4.2JFace与MVC模式 / 117
- 4.2.1JFace Viewer框架概述 / 117
- 4.2.2JFace Viewer框架机制 / 118
- 4.3JFace常用组件入门 / 121
- 4.3.1ComboViewer / 122
- 4.3.2 ListViewer / 130
- 4.3.3 TableViewer / 132
- 4.3.4 TreeViewer / 135
- 4.3.5 CheckboxTableViewer / 137
- 4.3.6CheckboxTreeViewer / 139
- 4.3.7TreeTableViewer / 141
- 4.3.8 TableViewer Composite / 141
- 4.3.9 Table Composite / 142
- 4.3.10TreeViewer Composite / 142
- 4.3.11Tree Composite / 143
- 4.4JFace组件使用进阶 / 143
- 4.4.1数据绑定 / 143
- 4.4.2 基于EditingSupport的可编辑表格 / 146
- 4.4.3基于ICellModifier的可编辑表格 / 147
- 4.4.4 对话框编辑器 / 149
- 4.4.5其他表格标签 / 150
- 4.4.6 Viewer浮动提示控件 / 151
- 4.5小结 / 153
- 第5章Eclipse Forms与Nebula界面设计 / 154
- 5.1Eclipse Forms项目介绍 / 154
- 5.2Eclipse Forms使用入门 / 154
- 5.2.1Composite / 154
- 5.2.2ExpandableComposite / 155
- 5.2.3Label与Text / 158
- 5.2.4Hyperlink与ImageHyperlink / 158
- 5.2.5Composite Separator / 159
- 5.2.6 Section / 160
- 5.2.7Form与ScrolledForm / 162
- 5.3Eclipse Forms使用进阶 / 164
- 5.3.1FormEditor与FormPage / 164
- 5.3.2MasterDetailsBlock 与IDetailsPage / 167
- 5.4Eclipse Forms技术资源 / 173
- 5.5Nebula项目介绍 / 173
- 5.6安装Eclipse Nebula Plugin / 174
- 5.6.1安装Eclipse Nebula Main Widgets / 174
- 5.6.2安装Eclipse Nebula incubation Widgets / 174
- 5.6.3加载Eclipse Nebula控件到WindowBuilder Pro Plugin中 / 174
- 5.7Nebula Main Widgets设计初识 / 176
- 5.8Nebula Incubation widgets设计初识 / 177
- 5.9Nebula设计经验 / 178
- 5.10Nebula技术资源 / 180
- 5.11小结 / 180
- 第二部分高级篇
- 第6章Eclipse RCP 开发基础 / 182
- 6.1Eclipse概念 / 182
- 6.1.1欢迎界面 / 183
- 6.1.2工作台 / 183
- 6.1.3透视图 / 184
- 6.1.4视图 / 184
- 6.1.5编辑器 / 185
- 6.2RCP应用程序设计 / 185
- 6.2.1RCP插件创建向导 / 185
- 6.2.2Plug-in Project / 185
- 6.2.3Plugin Content / 186
- 6.2.4Templates / 187
- 6.2.5Sample Intro / 188
- 6.2.6产品初次运行 / 188
- 6.3插件清单编辑器 / 189
- 6.3.1插件概述 / 189
- 6.3.2插件依赖项 / 191
- 6.3.3插件运行时 / 193
- 6.3.4插件扩展 / 197
- 6.3.5插件扩展点 / 199
- 6.3.6插件构建 / 199
- 6.3.7 其他页面 / 200
- 6.4RCP Activator与Advisor类解析 / 200
- 6.4.1WorkshopAppActivator / 200
- 6.4.2Application / 201
- 6.4.3ActionBarAdvisor / 202
- 6.4.4WorkbenchAdvisor / 203
- 6.4.5WorkbenchWindowAdvisor / 205
- 6.5小结 / 206
- 第7章构建产品帮助系统 / 207
- 7.1创建帮助插件向导 / 207
- 7.1.1帮助插件的 Content向导页面 / 208
- 7.1.2帮助插件的Templates向导页面 / 208
- 7.1.3帮助插件的Sample Help Table of Contents向导页面 / 209
- 7.2维护Help Content / 209
- 7.2.1帮助系统配置与资源文件的目录 / 209
- 7.2.2帮助系统配置与资源文件的关系 / 210
- 7.2.3帮助系统扩展 / 211
- 7.3添加帮助的菜单项 / 211
- 7.4帮助文件的创建 / 212
- 7.5小结 / 212
- 第8章构建产品欢迎页面 / 213
- 8.1产品绑定欢迎页面 / 213
- 8.1.1欢迎页面扩展 / 213
- 8.1.2欢迎页面定义 / 215
- 8.1.3欢迎页面首页 / 215
- 8.1.4页面跳转链接 / 216
- 8.2欢迎页面请求 / 216
- 8.2.1创建IIntroAction/ 216
- 8.2.2添加IIntroAction链接 / 217
- 8.3添加动态内容 / 217
- 8.3.1动态页面创建 / 217
- 8.3.2动态数据创建 / 218
- 8.4 创建页面扩展 / 219
- 8.5 小结 / 221
- 第9章构建产品多国语言 / 222
- 9.1插件清单的多国语言 / 222
- 9.2Java程序的多国语言 / 223
- 9.2.1Java程序的外部化字符串 / 223
- 9.2.2 Java程序的多国语言包 / 226
- 9.2.3 产品多国语言进阶 / 228
- 9.3 帮助系统的多国语言 / 229
- 9.4 Eclipse界面汉化 / 230
- 9.5 切换软件系统语言 / 234
- 9.5.1 添加自定义产品的config文件 / 234
- 9.5.2 添加语言切换扩展点 / 234
- 9.5.3 语言切换处理器 / 236
- 9.6 小结 / 238
- 第10章产品的运行与导出 / 240
- 10.1 产品配置 / 240
- 10.2 产品配置编辑器 / 241
- 10.3 导出向导 / 244
- 10.3.1 产品导出 / 244
- 10.3.2 跨平台导出 / 245
- 10.3.3插件导出 / 247
- 10.4运行与导出进阶 / 247
- 10.5 小结 / 250
- 第11章Eclipse RCP扩展的使用 / 251
- 11.1 ViewPart 视图 / 251
- 11.1.1创建新插件 / 251
- 11.1.2视图向导 / 251
- 11.1.3视图代码 / 252
- 11.1.4 视图扩展 / 252
- 11.2Perspective透视图 / 253
- 11.2.1透视图向导 / 253
- 11.2.2透视图代码 / 254
- 11.2.3透视图扩展 / 254
- 11.2.4透视图布局 / 255
- 11.2.5打开透视图 / 256
- 11.3EditorPart编辑器 / 256
- 11.3.1创建数据表单 / 257
- 11.3.2创建编辑器的输入 / 257
- 11.3.3创建编辑器 / 260
- 11.3.4创建视图树形组件 / 262
- 11.3.5编辑器扩展 / 262
- 11.4编程实现Action / 263
- 11.4.1IAction / 263
- 11.4.2ToolBar工具栏 / 264
- 11.4.3CoolBar工具栏 / 264
- 11.4.4ContentMenuBar菜单栏 / 265
- 11.4.5工作台Action / 265
- 11.4.6视图Action菜单栏 / 267
- 11.4.7视图Action工具栏 / 267
- 11.4.8编辑器Action工具栏 / 268
- 11.5扩展实现Action / 269
- 11.5.1工作台Action扩展 / 269
- 11.5.2视图Action扩展 / 270
- 11.5.3编辑器Action扩展 / 271
- 11.6Action的键盘绑定 / 272
- 11.6.1Commands扩展 / 273
- 11.6.2Bindings扩展 / 274
- 11.7Eclipse RCP设计进阶 / 276
- 11.7.1视图/编辑器之间通信 / 276
- 11.7.2创建状态栏项 / 278
- 11.7.3创建属性配置页面 / 279
- 11.7.4创建登录对话框 / 286
- 11.8小结 / 289
- 第12章Eclipse RCP扩展点开发 / 290
- 12.1扩展点简介 / 290
- 12.2创建扩展点 / 290
- 12.3扩展点编辑器 / 291
- 12.3.1扩展点概述 / 291
- 12.3.2扩展点定义 / 292
- 12.3.3扩展点源码 / 295
- 12.4扩展点处理 / 295
- 12.4.1扩展点对象 / 295
- 12.4.2扩展点注册 / 296
- 12.4.3扩展点获取 / 297
- 12.5添加扩展 / 301
- 12.6使用扩展 / 302
- 12.7 小结 / 303
- 第三部分实战篇
- 第13章Eclipse RCP与Spring OSGi / 306
- 13.1OSGi技术介绍 / 306
- 13.1.1软件开发面临的问题 / 306
- 13.1.2动态模块化解决方案 / 306
- 13.1.3 OSGi框架/ 307
- 13.1.4选择合适的OSGi实现 / 308
- 13.2Spring OSGi项目所需要的开发包 / 308
- 13.2.1下载Spring DM的开发包 / 308
- 13.2.2解压缩Spring DM的开发包 / 309
- 13.2.3创建Spring DM目标平台 / 309
- 13.3Spring OSGi项目的Maven管理 / 311
- 13.3.1创建Maven POM项目 / 311
- 13.3.2修改Maven项目类型 / 312
- 13.4Spring OSGi项目的模块化设计 / 313
- 13.4.1创建Spring DM业务项目 / 313
- 13.4.2设计Spring DM业务项目 / 313
- 13.5 Spring OSGi项目转为插件项目 / 318
- 13.6Spring OSGi插件项目发布接口 / 319
- 13.6.1创建接口发布配置 / 319
- 13.6.2添加包的路径导出 / 319
- 13.7Eclipse RCP获取Spring OSGi服务 / 320
- 13.7.1创建Eclipse RCP UI 插件 / 320
- 13.7.2 获取Spring OSGi服务接口 / 320
- 13.7.3 调用Spring OSGi服务接口 / 321
- 13.8Eclipse RCP与Spring OSGi的启动 / 322
- 13.8.1Eclipse 应用程序启动选项 / 322
- 13.8.2启动Eclipse RCP产品配置 / 326
- 13.8.3启动基于Spring OSGi的RCP程序 / 326
- 13.9在Eclipse RCP中获取ApplicationContext和Bean / 328
- 13.10Spring OSGi的Maven插件项目打包 / 331
- 13.10.1PDE插件导出向导 / 331
- 13.10.2Maven插件项目的打包配置 / 332
- 13.10.3执行Maven插件打包 / 333
- 13.11小结 / 334
- 第14章Eclipse RCP与数据访问 / 335
- 14.1SpringOSGi与Hibernate / 335
- 14.1.1Hibernate简介 / 335
- 14.1.2数据访问插件目标 / 335
- 14.1.3数据访问插件设计 / 336
- 14.2插件如何引入第三方开发包 / 338
- 14.2.1如何获取第三方开发包 / 338
- 14.2.2如何引用第三方开发包 / 341
- 14.3将普通JAR转成插件格式 / 344
- 14.3.1导入向导 / 344
- 14.3.2BND工具 / 344
- 14.4创建数据库插件 / 345
- 14.4.1Maven POM配置文件 / 345
- 14.4.2properties配置文件 / 346
- 14.4.3Spring XML配置文件 / 346
- 14.4.4MAINFEST.MF配置文件 / 349
- 14.5 创建连接池插件 / 349
- 14.5.1 Maven POM配置文件 / 349
- 14.5.2properties配置文件 / 349
- 14.5.3 Spring XML配置文件 / 350
- 14.5.4Java类设计 / 352
- 14.5.5MAINFEST.MF配置文件 / 355
- 14.6 创建连接池Feature插件 / 355
- 14.6.1修改DBCP的MAINFEST.MF文件 / 356
- 14.6.2创建DBCP的Fragment插件 / 356
- 14.7创建Hibernate插件 / 356
- 14.7.1 Maven POM配置文件 / 356
- 14.7.2properties配置文件 / 358
- 14.7.3Spring XML配置文件 / 358
- 14.7.4扩展点设计 / 362
- 14.7.5Java类设计 / 364
- 14.7.6MAINFEST.MF配置文件 / 371
- 14.8创建业务插件 / 371
- 14.8.1Spring XML配置文件 / 372
- 14.8.2Java类设计 / 375
- 14.8.3数据库SQL设计 / 376
- 14.8.4MAINFEST.MF配置文件 / 376
- 14.8.5添加BundleAnnotationSessionFactoryBean扩展 / 377
- 14.9 启动OSGi Framework程序 / 378
- 14.10 其他整合数据库的方式 / 379
- 14.11基于数据访问插件的RCP程序启动 / 380
- 14.12小结 / 382
- 第15章Eclipse与Java的模块化设计 / 383
- 15.1 基于编程语言的模块化 / 383
- 15.1.1Java语句的模块化设计 / 383
- 15.1.2Java方法的模块化设计 / 383
- 15.1.3Java类的模块化设计 / 384
- 15.1.4Java接口的模块化设计 / 385
- 15.2 基于编程方法的模块化 / 385
- 15.2.1IoC编程的模块化设计 / 385
- 15.2.2AOP编程的模块化设计 / 386
- 15.3 基于程序物理文件的模块化 / 388
- 15.3.1Package路径的模块化设计 / 388
- 15.3.2XML文件的模块化设计 / 389
- 15.3.3Properties文件的模块化设计 / 389
- 15.3.4JAR组件的模块化设计 / 390
- 15.4 基于技术架构的模块化 / 391
- 15.4.1OSGi的模块化设计 / 391
- 15.4.2Eclipse插件的模块化设计 / 392
- 15.4.3JMS的模块化设计 / 392
- 15.5模块化的技术移植 / 394
- 15.6小结 / 394