第1章 Eclipse RCP概述 1
1.1 Eclipse简介 1
1.1.1 Eclipse的起源和发展 1
1.1.2 Eclipse的优势 1
1.1.3 Eclipse的体系结构 2
1.2 Eclipse RCP平台 3
1.2.1 什么是RCP 3
1.2.2 Eclipse RCP概述 4
1.2.3 Eclipse RCP体系结构 5
1.2.4 Eclipse RCP应用 5
1.3 小结 7
第2章 高校经费测算系统分析与设计 9
2.1 系统开发背景 9
2.2 系统需求分析 9
2.3 系统的目标 11
2.4 测算模型说明 11
2.4.1 测算总体思路 11
2.4.2 具体测算模型 12
2.5 测算处理的业务流程 14
2.6 系统设计 14
2.6.1 系统总体功能设计 14
2.6.2 主控界面的设计 15
2.6.3 系统开发环境 16
2.6.4 基本对象设计 16
2.7 创建数据表并生成样本数据 24
2.8 小结 27
第3章 安装与配置开发环境 29
3.1 安装JDK 29
3.2 Eclipse的下载安装 30
3.3 配置本地Apache Derby数据库引擎 32
3.3.1 Apache Derby简介 33
3.3.2 Apache Derby的特色 33
3.3.3 Apache Derby的安装配置 34
3.3.4 Apache Derby基本使用 36
3.4 使用SQL Explorer插件 40
3.5 连接远程数据库服务器MySQL 44
3.5.1 MySQL简介 44
3.5.2 MySQL特色 44
3.5.3 MySQL下载安装 45
3.5.4 图形化辅助工具MySQL-Front 48
3.5.5 在项目中连接MySQL 50
3.6 配置Hibernate数据持久化服务 52
3.6.1 Hibernate简介 52
3.6.2 Hibernate工作流程 53
3.6.3 Hibernate下载安装 53
3.6.4 Hibernate基础 54
3.6.5 Hibernate牛刀小试 59
3.7 Excel电子表格读写工具POI 62
3.7.1 POI简介 62
3.7.2 POI下载和安装 62
3.7.3 POI使用基础 63
3.7.4 一个简单示例 65
3.8 小结 67
第4章 SWT/JFace简介 69
4.1 SWT/JFace概述 69
4.2 创建Java项目 69
4.3 创建SWT/JFace应用程序 70
4.3.1 创建SWT应用程序 70
4.3.2 创建JFace应用程序 71
4.4 常用组件 72
4.4.1 标签(Label) 72
4.4.2 文本框(Text) 72
4.4.3 按钮(Button) 73
4.4.4 组合框(Combo) 73
4.4.5 列表框(List) 73
4.4.6 综合示例 74
4.5 常用布局管理器 75
4.5.1 FiillLayout 75
4.5.2 RowLayout 76
4.5.3 GridLayout 77
4.5.4 StackLayout 79
4.5.5 FormLayout 82
4.6 其他常用组件 84
4.6.1 菜单(Menu) 84
4.6.2 工具栏(ToolBar)、动态工具栏(CoolBar) 85
4.6.3 CLabel 86
4.6.4 CCombo 86
4.6.5 滚动条(Slider) 87
4.6.6 分组框(Group) 87
4.6.7 进度条 87
4.6.8 选项卡(TabFolder、CTabFolder) 88
4.6.9 上述组件的综合示例 88
4.6.10 分隔窗SashForm 93
4.6.11 视图窗ViewForm 94
4.6.12 表格Table 96
4.6.13 树Tree 97
4.6.14 TreeViewer、TableViewer和ListViewer 98
4.7 对话框类 104
4.8 小结 111
第5章 构造系统主程序 113
5.1 新建RCP项目 113
5.1.1 创建经费测算项目 114
5.1.2 项目的组织结构 115
5.1.3 RCP基本框架 119
5.1.4 定制应用程序窗口属性 125
5.2 定制开发平台和目标平台 129
5.3 添加菜单和工具栏 130
5.3.1 Action简介 131
5.3.2 创建系统Action 131
5.3.3 创建系统菜单 133
5.3.4 创建系统工具栏 135
5.4 添加主界面视图 137
5.5 配置透视图 138
5.6 实现系统托盘 140
5.6.1 托盘对象简介 140
5.6.2 系统托盘的具体实现 141
5.6.3 图片的缓存处理 144
5.6.4 定时自动显示托盘气泡提示文本 145
5.7 品牌化应用程序 146
5.7.1 新建产品配置 146
5.7.2 定制EXE文件 148
5.7.3 设置启动进度条和窗口图标 149
5.8 进一步处理托盘程序 151
5.9 小结 151
第6章 实现用户登录 153
6.1 添加登录对话框 153
6.1.1 Visual Editor基础 153
6.1.2 自定义程序注释 155
6.1.3 编写登录界面 156
6.1.4 登录界面的显示时机 158
6.2 做好准备工作 159
6.2.1 创建数据实体类 159
6.2.2 配置数据库环境 159
6.2.3 编写Hibernate配置文件和hbm映射文件 160
6.3 基于Preferences的用户登录 166
6.3.1 Preferences简介 166
6.3.2 编写登录程序 167
6.3.3 数据的加密处理 169
6.4 基于数据库的用户登录 171
6.4.1 编写Hibernate Session工厂管理类 171
6.4.2 修改用户登录类 172
6.5 登录进度状态显示 172
6.6 定制状态栏 174
6.6.1 状态栏简介 175
6.6.2 添加状态栏临时信息 175
6.6.3 设置状态栏Contributions信息 176
6.7 小结 178
第7章 系统主界面功能实现 179
7.1 修改欢迎画面 179
7.1.1 认识Intro扩展点 179
7.1.2 解决导出产品中文乱码问题 182
7.1.3 自定义欢迎画面 183
7.1.4 打开欢迎画面 185
7.2 实现教学单位视图 186
7.2.1 主要功能说明 186
7.2.2 实现技术分析 187
7.2.3 ControlContribution简介 188
7.2.4 认识属性改变监听模式 189
7.2.5 理解提供器—选择监听器模式 190
7.2.6 创建年份管理类YearManager 191
7.2.7 创建属性提供类CuryearPropertyChange 193
7.2.8 构造教学单位视图基本框架 194
7.2.9 标题栏加入年份组合框 198
7.2.10 响应属性改变事件 201
7.2.11 在hbm文件中统一管理HQL语句 202
7.3 显示经费概览饼图 205
7.3.1 主要功能说明 206
7.3.2 实现技术分析 206
7.3.3 GC绘图处理 207
7.3.4 编写经费概览视图 210
7.3.5 实现监听事件处理 216
7.4 教学单位课程明细管理 218
7.4.1 主要功能说明 218
7.4.2 实现技术分析 219
7.4.3 CellEditor单元格编辑器 220
7.4.4 Job后台任务处理 223
7.4.5 实现控件使能状态设置类 225
7.4.6 编写TreeViewer的节点数据实体类 226
7.4.7 修改教学单位课程明细视图 227
7.4.8 实现监听事件处理 237
7.5 小结 239
第8章 实现系统主要功能 241
8.1 添加教学单位基本情况处理 241
8.1.1 主要功能说明 241
8.1.2 实现技术分析 241
8.1.3 关于数据绑定(Data Binding) 244
8.1.4 编写数据绑定工厂类 247
8.1.5 编写教学单位基本情况视图 248
8.1.6 数据绑定处理 263
8.1.7 同步表格和文本框数据 265
8.1.8 修改Action以打开视图 265
8.2 实现公共参数设置 266
8.2.1 主要功能说明 267
8.2.2 实现技术分析 267
8.2.3 创建编辑器 269
8.2.4 透视图切换处理方式 280
8.2.5 运行时界面状态的保存/恢复方式 284
8.3 测算输出Excel报表 286
8.3.1 主要功能说明 286
8.3.2 技术实现分析 286
8.3.3 生成POI插件 286
8.3.4 具体测算处理 288
8.4 显示测算经费堆栈图 296
8.4.1 主要功能说明 296
8.4.2 实现技术分析 296
8.4.3 JFreeChart简介 297
8.4.4 JFreeChart使用基础 297
8.4.5 JFreeChart的配置 298
8.4.6 实现测算经费图形对比视图 299
8.5 实现历史数据查询 303
8.5.1 主要功能说明 304
8.5.2 实现技术分析 304
8.5.3 过滤器技术 304
8.5.4 排序器技术 305
8.5.5 编写历史数据查询视图 307
8.6 小结 314
第9章 系统辅助功能处理 315
9.1 用户管理功能 315
9.1.1 主要功能说明 315
9.1.2 界面设计 315
9.1.3 具体实现方法 315
9.2 获取服务器数据 322
9.2.1 创建MySQL数据库和数据实体类 322
9.2.2 创建Hibernate配置文件 322
9.2.3 创建hbm映射文件和命名查询文件 323
9.2.4 修改获取服务器数据的Action类 324
9.3 数据备份 328
9.3.1 Derby在线备份和离线备份 328
9.3.2 JDBC方式实现数据备份 329
9.3.3 Hibernate方式实现数据备份 331
9.4 远程数据源配置可选化 332
9.4.1 主要功能说明 332
9.4.2 实现技术分析 333
9.4.3 DOM4J简介 333
9.4.4 DOM4J下载、配置和使用 333
9.4.5 具体功能的实现 336
9.5 实现新增年度处理 342
9.5.1 修改Action类AddNewYear 342
9.5.2 添加命名查询 345
9.6 编写“关于经费测算系统”对话框 346
9.6.1 创建关于系统对话框类 346
9.6.2 修改Action类AboutSystem 347
9.7 小结 348
第10章 实现帮助功能 349
10.1 新建帮助项目 349
10.2 配置帮助插件依赖项 350
10.3 理解帮助组成部分 350
10.3.1 帮助扩展点 350
10.3.2 主题列表的定义 351
10.3.3 编写HTML文件 351
10.4 实现帮助内容 352
10.4.1 帮助界面的设计 352
10.4.2 定义主题列表 353
10.4.3 设定主题内容 353
10.4.4 创建HTML文件 354
10.5 定制帮助外观样式 355
10.6 打开帮助 357
10.6.1 编写调用帮助的GetHelpContents类 357
10.6.2 添加插件依赖项 357
10.6.3 解除Access restricted 358
10.6.4 修改打开帮助的Action 358
10.7 添加上下文敏感帮助 358
10.7.1 IWorkbenchHelpSystem简介 358
10.7.2 具体实现方法 359
10.8 小结 361
第11章 实现产品在线升级 363
11.1 配置Update插件依赖项 363
11.2 创建Feature功能部件项目 363
11.3 配置更新站点 365
11.3.1 安装Tomcat服务器 365
11.3.2 新建更新站点项目 367
11.3.3 创建更新站点 368
11.4 在线升级的具体实现 368
11.4.1 编写在线升级程序 368
11.4.2 配置config.ini文件 372
11.4.3 测试升级程序 372
11.5 小结 374
第12章 产品发布 375
12.1 自动启动/停止Derby数据库服务器 375
12.1.1 启动/停止Derby的时机 375
12.1.2 编写BootOrShutdownDerby类 375
12.1.3 实现Derby的启动/停止 376
12.2 定制可执行程序 377
12.3 发布产品 378
12.3.1 NSIS简介 378
12.3.2 NSIS下载和安装 379
12.3.3 NSIS基本语法 379
12.3.4 编写安装脚本 383
12.4 制作安装程序 385
12.4.1 导出产品 385
12.4.2 精简JRE目录 385
12.4.3 编译成setup.exe文件 386
12.5 小结 388