标题：Java典型模块精解
作者：明日科技
图书详细信息：ISBN：9787302276661  [1]定价：49.8元
印次：1-1
装帧：平装
印刷日期：2011-12-28图书简介：本书以系统登录注册、电子相册、邮件发送、备忘信息管理、通讯录、远程控制工具、电子桌面精灵、快递信息打印、文件批处理、软件加密注册、决策分析、MySQL备份还原助手和电子地图等13个模块为例，从桌面程序开发的角度出发，打造点、线、面一体化的学习架构，让读者既能够学习到子功能模块的实现方法、开发技巧，又能够合理地运用子功能模块，打造出完整的项目。
本书模块涉及广泛，实用性非常强，通过对本书的学习，读者可以了解Java桌面开发中各个环节的特点、功能，以及如何合理地连接各个环节，打造出完整的项目。另外，本书所提供模块既包括常用功能模块，还包括目前比较流行的热点模块；既可达到读者二次开发的目的，也可满足读者对流行、热点内容的好奇心。
本书提供了大量的自学视频、源程序、素材，提供了相关的模块库、案例库、素材库、题库等多种形式的辅助学习资料，还提供迅速及时的微博、QQ、论坛等技术支持。前言：众里寻她千百度，蓦然回首，那人却在灯火阑珊处！
每个想要成为程序员或已经是初、中级程序员的读者，都有这样一个梦想，就是期待自己有一天能够问鼎中原，成为一名高级程序设计大师。
每个程序员都在为这个理想而奋斗着，苦苦地追寻，不断地付出，开发着各种各样的项目、模块，以此来积累经验，提高技术水平。当有一天真正成为程序设计大师时，回想起自己是如何做到的，蓦然发现正是那些各种各样的项目、模块成就了自己。
正所谓，众里寻她千百度，蓦然回首，那人却在灯火阑珊处！
本书精选了13个模块，直接将灯火阑珊处的“她”呈现给诸位读者，希望读者能够早日问鼎中原。
本书内容
本书分为13章，蕴含79项开发技术、经验，涵盖系统登录注册、电子相册、邮件发送、备忘信息管理、通讯录、远程控制工具、电子桌面精灵、快递信息打印、文件批处理、软件加密注册、决策分析、MySQL备份还原助手和电子地图等13个模块的内容。所选模块均来源于一线开发人员的第一手资料，各个模块的实用程度分析如下图所示。
本书特色
本书具有以下特色：
* 纵向延伸。本书精选了13个模块，涵盖项目开发中应用的各方面技术和数据库，体现了从小到大、从易到难的学习过程。
* 横向连接。本书属于Java系列图书的一部分，是Java入门学习、范例练习的延伸，以模块开发的形式锻炼读者的程序开发能力，并逐步向更高级别的项目开发前进。
* 易学、易用。本书中的每个模块都通过“技术提炼”栏目对代码中重要的对象、方法、语句和重点知识等进行说明，以便于读者在阅读代码时透彻理解代码的含义和相关技术、技巧。
* 赠送所有模块源代码。书中所有模块均提供有源代码，用户在开发中可以借鉴或应用。
* 提供72集（节）视频录像。本书提供了72集（节）的视频录像，读者可以边看边学，从而得到快速提高。
本书配套资源
本书提供了内容丰富的配套资源，包括自学视频、源程序、素材，以及模块库、案例库、题库、素材库等多项辅助内容，读者朋友可以通过如下方式获取。
第1种方式：
（1）登录清华大学出版社的网站，在网页右上角的搜索文本框中输入本书书名（注意区分大小写和留出空格），或者输入本书关键字，或者输入本书ISBN号（注意去掉ISBN号间隔线“-”），单击“搜索”按钮。
（2）找到本书后单击超链接，在该书的网页下侧单击“网络资源”超链接，即可下载。
第2种方式：
访问本书的新浪微博Javamrbook，找到配套资源的链接地址进行下载。
配套资源目录如下图所示。
本书约定
* 项目使用方法
用户在学习本书的过程中，可以从配套资源中复制模块，去掉其只读属性。有些模块需要使用相应的数据库或第三方资源，此类模块在使用前需要进行相应配置，详细使用方式可参考本书的配套资源使用说明书。此外，如果用户直接将本书内容用于商业用途，由此产生的不良后果由用户自己承担。
* 部分项目只给出关键代码
由于篇幅限制，书中有些模块只给出了关键代码，完整代码可参见配套资源中的对应程序。
读者人群
本书非常适合以下人员阅读：
* Java编程行业的开发人员
* 有一定语言基础，想进一步提高技能的人员
* 大中专院校的老师和学生
* 即将走上工作岗位的大学毕业生
* 相关培训机构的老师和学员
* Java编程爱好者目录：第1章  系统登录注册模块
（ 自学视频、源程序：
配套资源\mr\1\） 1
1.1  系统登录注册模块概述 2
1.1.1  系统登录 2
1.1.2  用户注册 2
1.1.3  程序预览 2
1.2  数据库设计 2
1.2.1  数据库设计概述 2
1.2.2  使用MySQL Workbench
创建表格 3
1.2.3  编写JavaBean封装用户属性 4
1.2.4  编写JDBC工具类 5
1.3  系统登录 9
1.3.1  系统登录功能概述 9
1.3.2  窗体设计 9
1.3.3  获取及绘制验证码 9
1.3.4  居中显示窗体 10
1.3.5  非空校验 11
1.3.6  合法校验 11
1.3.7  显示主窗体 11
1.4  用户注册 12
1.4.1  用户注册功能概述 12
1.4.2  窗体设计 13
1.4.3  限制文本控件可用字符数 13
1.4.4  显示文本控件已用字符 15
1.4.5  非空校验 17
1.4.6  使用正则表达式校验字符串 17
1.4.7  保存用户注册信息 19
技术提炼 19
第2章  电子相册模块
（ 自学视频、源程序：
配套资源\mr\2\） 24
2.1  电子相册模块概述 25
2.1.1  相册管理功能 25
2.1.2  照片及其信息管理功能 25
2.1.3  浏览照片功能 25
2.1.4  查询照片功能 25
2.1.5  程序预览 25
2.2  数据库概述 27
2.2.1  数据库设计概述 27
2.2.2  编写JDBC工具类 27
2.3  相册管理功能 31
2.3.1  相册管理功能概述 31
2.3.2  添加相册 32
2.3.3  修改相册 32
2.3.4  删除相册 33
2.4  照片管理 34
2.4.1  功能概述 34
2.4.2  添加照片 34
2.4.3  修改照片信息 35
2.4.4  删除照片 37
2.4.5  搜索照片 38
2.4.6  保存照片 41
2.5  照片显示 43
2.5.1  功能概述 43
2.5.2  全屏显示照片 43
2.5.3  照片播放器 44
技术提炼 47
第3章  邮件发送模块
（ 自学视频、源程序：
配套资源\mr\3\） 58
3.1  邮件发送模块概述 59
3.1.1  账户管理功能 59
3.1.2  增加和删除附件 59
3.1.3  保存邮件信息 59
3.1.4  程序预览 59
3.2  数据库设计 60
3.2.1  数据库设计概述 60
3.2.2  使用MySQL Workbench
创建表格 61
3.2.3  编写JavaBean封装对象 65
3.2.4  编写JDBC工具类 66
3.3  账户管理功能 71
3.3.1  账户管理功能概述 71
3.3.2  窗体设计 72
3.3.3  使用正则表达式校验电子
邮件地址 72
3.3.4  自动填写邮箱用户名 72
3.3.5  居中显示窗体 73
3.3.6  限制文本控件可用字符数 73
3.3.7  非空校验 75
3.3.8  保存账户信息 76
3.4  增加和删除附件 76
3.4.1  增加和删除附件概述 76
3.4.2  窗体设计 77
3.4.3  创建文件选择器 77
3.4.4  非空校验 78
3.5  保存邮件信息 78
3.5.1  保存邮件信息功能概述 78
3.5.2  窗体设计 78
3.5.3  向组合框中增加账户 79
3.5.4  修改和删除组合框中账户 80
3.5.5  非空校验和合法性校验 81
3.5.6  封装并保存邮件内容 82
3.5.7  使用Commons Email组件
发送邮件 82
3.5.8  设置JOptionPane文本字体 83
技术提炼 83
第4章  备忘信息管理模块
（ 自学视频、源程序：
配套资源\mr\4\） 89
4.1  备忘信息管理模块概述 90
4.1.1  添加备忘信息 90
4.1.2  修改备忘信息 90
4.1.3  删除备忘信息 90
4.1.4  查询备忘信息 90
4.1.5  程序预览 90
4.2  数据库设计 91
4.2.1  数据库设计概述 91
4.2.2  使用MySQL Workbench
创建表格 92
4.2.3  编写JavaBean封装备忘
信息 93
4.2.4  获得MySQL数据库连接 94
4.2.5  操作数据库 95
4.2.6  使用List保存查询信息 98
4.2.7  使用正则表达式校验
日期 101
4.2.8  调用系统工具 101
4.3  主窗体 101
4.3.1  主窗体功能概述 101
4.3.2  窗体设计 102
4.3.3  设置窗体背景 102
4.3.4  设置窗体显示位置和大小 103
4.3.5  添加菜单栏、菜单和
菜单项 104
4.4  添加备忘信息 106
4.4.1  添加备忘信息功能概述 106
4.4.2  窗体设计 106
4.4.3  “保存”按钮的事件
监听器 106
4.4.4  保存备忘信息的方法 106
4.5  修改备忘信息 108
4.5.1  修改备忘信息功能概述 108
4.5.2  窗体设计 108
4.5.3  浏览上一条备忘信息 108
4.5.4  浏览下一条备忘信息 109
4.5.5  “修改”按钮的事件
监听器 110
4.5.6  修改备忘信息的方法 110
4.6  删除备忘信息 112
4.6.1  删除备忘信息功能概述 112
4.6.2  窗体设计 112
4.6.3  “删除”按钮的事件
监听器 112
4.6.4  修改备忘信息的方法 113
4.7  查询备忘信息 114
4.7.1  查询备忘信息功能概述 114
4.7.2  窗体设计 114
4.7.3  “查询”按钮的事件
监听器 114
4.7.4  查询备忘信息的方法 115
4.7.5  浏览全部备忘信息 116
技术提炼 116
第5章  通讯录模块
（ 自学视频、源程序：
配套资源\mr\5\） 119
5.1  通讯录模块概述 120
5.1.1  添加分类名称 120
5.1.2  添加联系人信息 120
5.1.3  查询和编辑联系人信息 120
5.1.4  程序预览 120
5.2  数据库设计 121
5.2.1  数据库设计概述 121
5.2.2  封装分类信息的Sort类 122
5.2.3  封装联系人信息的
LinkMan类 123
5.2.4  获得数据库连接的
DAO类 125
5.2.5  操作分类信息的
SortDao类 126
5.2.6  操作联系人信息的
LinkManDao类 128
5.3  主窗体 135
5.3.1  主窗体功能概述 135
5.3.2  窗体设计 136
5.3.3  居中显示窗体 137
5.3.4  初始化主窗体的显示
信息 137
5.4  添加联系人信息 138
5.4.1  添加联系人信息功能概述 138
5.4.2  窗体设计 138
5.4.3  选择照片 139
5.4.4  保存联系人信息 140
5.5  查询和编辑联系人信息 141
5.5.1  查询和编辑联系人信息
功能概述 141
5.5.2  窗体设计 142
5.5.3  查询联系人信息 142
5.5.4  显示全部联系人信息 144
5.5.5  选择照片 146
5.5.6  修改联系人信息 147
5.5.7  删除联系人信息 147
5.6  添加分类名称 148
5.6.1  添加分类名称功能概述 148
5.6.2  窗体设计 149
5.6.3  添加分类名称 149
5.6.4  更新分类名称列表框 150
技术提炼 152
第6章  远程控制工具模块
（ 自学视频、源程序：
配套资源\mr\6\） 157
6.1  远程控制工具模块概述 158
6.1.1  联系人管理 158
6.1.2  远程连接 158
6.1.3  远程控制 158
6.1.4  程序预览 158
6.2  联系人管理 159
6.2.1  联系人管理功能概述 159
6.2.2  窗体设计 159
6.2.3  添加联系人 160
6.2.4  修改联系人 161
6.2.5  删除联系人 162
6.2.6  显示联系人列表 162
6.2.7  处理联系人选择事件 163
6.3  远程连接 164
6.3.1  远程连接面板功能概述 164
6.3.2  求助面板界面设计 164
6.3.3  创建网络服务器 165
6.3.4  实现远程连接 166
6.4  远程监控面板 168
6.4.1  远程监控面板功能概述 168
6.4.2  远程监控面板设计 169
6.4.3  启动RMI远程方法服务 169
6.4.4  实现远程监控面板 171
技术提炼 175
第7章  电子桌面精灵模块
（ 自学视频、源程序：
配套资源\mr\7\） 183
7.1  电子桌面精灵模块概述 184
7.1.1  支持农历的万年历 184
7.1.2  维护记录 184
7.1.3  搜索记录 184
7.1.4  程序预览 184
7.2  支持农历的万年历 186
7.2.1  支持农历的万年历功能
概述 186
7.2.2  窗体设计 187
7.2.3  实现支持农历的万年历 187
7.3  维护记录 190
7.3.1  维护记录功能概述 190
7.3.2  添加和修改记录 190
7.3.3  添加和修改记录对话框
设计 190
7.3.4  实现添加和修改记录 191
7.3.5  实现记录的删除 193
7.4  普通搜索功能 194
7.4.1  普通搜索功能概述 194
7.4.2  普通搜索界面设计 194
7.4.3  实现普通搜索功能 194
7.5  高级搜索功能 195
7.5.1  高级搜索功能概述 195
7.5.2  高级搜索界面设计 196
7.5.3  实现高级搜索功能 196
技术提炼 200
第8章  快递信息打印模块
（ 自学视频、源程序：
配套资源\mr\8\） 211
8.1  快递信息打印模块概述 212
8.1.1  添加快递单 212
8.1.2  修改快递单 212
8.1.3  打印快递单 212
8.1.4  系统预览 212
8.2  数据库设计 214
8.2.1  数据库设计概述 214
8.2.2  使用MySQL Workbench
创建表格 214
8.2.3  编写JavaBean封装快递单
属性 216
8.2.4  编写JDBC工具类 216
8.3  主窗体 223
8.3.1  主窗体功能概述 223
8.3.2  窗体设计 223
8.3.3  添加菜单及菜单项 224
8.3.4  加载窗体背景图片 225
8.3.5  设置窗体显示位置和大小 225
8.4  添加快递单 226
8.4.1  添加快递单功能概述 226
8.4.2  窗体设计 226
8.4.3  加载快递单图片 227
8.4.4  设置文本域和文本区控件 227
8.4.5  限制文本控件可用字符数 229
8.4.6  添加工具按钮 231
8.4.7  保存快递单信息 232
8.4.8  清空快递单信息 234
8.4.9  销毁窗体 234
8.5  修改快递单 235
8.5.1  修改快递单功能概述 235
8.5.2  窗体设计 235
8.5.3  加载快递单图片 236
8.5.4  添加快递单信息 236
8.5.5  获得上一条快递单信息 236
8.5.6  获得下一条快递单信息 237
8.5.7  修改快递单信息 238
8.6  打印快递单 240
8.6.1  打印快递单功能概述 240
8.6.2  窗体设计 240
8.6.3  加载快递单图片 241
8.6.4  分割文本区信息 241
8.6.5  打印快递单信息 242
技术提炼 244
第9章  文件批处理模块
（ 自学视频、源程序：
配套资源\mr\9\） 249
9.1  文件批处理模块概述 250
9.1.1  新建文件和文件夹 250
9.1.2  搜索文件 250
9.1.3  批量复制和移动文件 250
9.1.4  批量删除文件 250
9.1.5  批量重命名文件 250
9.1.6  批量修改文件编码 250
9.1.7  压缩与解压缩文件 251
9.1.8  分割与合并文件 251
9.1.9  分类管理文件 251
9.1.10  程序预览 251
9.2  主窗体 253
9.2.1  主窗体功能概述 253
9.2.2  窗体设计 254
9.2.3  显示系统文件夹 254
9.2.4  显示系统文件夹中的文件
及属性 256
9.3  批量复制文件 259
9.3.1  批量复制文件功能概述 259
9.3.2  “复制文件夹”窗体设计 259
9.3.3  实现复制文件夹 260
9.4  压缩文件 262
9.4.1  压缩文件功能概述 262
9.4.2  “压缩文件”窗体设计 262
9.4.3  实现压缩文件功能 262
9.5  解压缩文件 264
9.5.1  解压缩文件功能概述 264
9.5.2  “解压文件”窗体设计 264
9.5.3  实现解压缩文件功能 265
技术提炼 266
第10章  软件加密注册模块
（ 自学视频、源程序：
配套资源\mr\10\） 273
10.1  软件加密注册模块概述 274
10.1.1  注册导航功能 274
10.1.2  软件注册功能 274
10.1.3  软件注册机功能 274
10.1.4  系统预览 274
10.2  注册导航功能 275
10.2.1  注册导航功能概述 275
10.2.2  窗体设计 275
10.2.3  使用HTML显示格式化的
标签文本 275
10.2.4  编写显示背景图片的
面板 276
10.2.5  注册表概述 276
10.2.6  增加修改注册表权限 278
10.2.7  编写读写注册表工具 279
10.2.8  定义软件状态枚举 281
10.2.9  向注册表中写入信息 281
10.2.10  判断用户是否修改了
系统时间 282
10.2.11  处理“继续”按钮单击
事件 283
10.3  软件注册功能 284
10.3.1  软件注册功能概述 284
10.3.2  窗体设计 285
10.3.3  限制文本控件可用
字符数 285
10.3.4  校验用户输入信息是否
合法 287
10.3.5  获得本机的MAC地址 288
10.3.6  RSA加密解密算法工具 289
10.3.7  向注册表写入信息 292
10.3.8  校验唯一性与系统时间
合法性 293
10.3.9  使用弹出菜单粘贴
注册码 294
10.4  软件注册机功能 296
10.4.1  软件注册机功能概述 296
10.4.2  窗体设计 296
10.4.3  校验用户名合法性 296
10.4.4  使用弹出菜单复制
注册码 297
技术提炼 297
第11章  决策分析模块
（ 自学视频、源程序：
配套资源\mr\11\） 304
11.1  决策分析模块概述 305
11.1.1  导出为Excel文件功能 305
11.1.2  导出为PDF文件功能 305
11.1.3  分析数据并生成图表 305
11.1.4  模块预览 305
11.2  模块主窗体 309
11.2.1  模块主窗体功能概述 309
11.2.2  窗体设计 309
11.2.3  生成表格中数据 310
11.2.4  创建固定列表格 311
11.3  导出为Excel文件功能 312
11.3.1  导出为Excel文件功能
概述 312
11.3.2  窗体设计 313
11.3.3  获得指定样式的时间 313
11.3.4  窗体居中显示 313
11.3.5  选择保存文件 314
11.3.6  生成Excel文件 314
11.4  导出为PDF文件功能 316
11.4.1  导出为PDF文件功能
概述 316
11.4.2  窗体设计 316
11.4.3  使用反射获得类中
全部域 317
11.4.4  使用正则表达式校验
边距 317
11.4.5  生成PDF文件 318
11.5  绘制饼图 320
11.5.1  功能概述 320
11.5.2  窗体设计 321
11.5.3  向组合框中增加元素 322
11.5.4  创建饼图数据集 322
11.5.5  创建饼图 323
11.5.6  创建饼图副标题 323
11.5.7  设置文本信息样式 324
11.5.8  解决中文乱码问题 324
11.5.9  显示和保存饼图 324
11.6  绘制柱形图 325
11.6.1  功能概述 325
11.6.2  创建柱形图数据集 326
11.6.3  创建柱形图 326
11.6.4  解决中文乱码问题 327
11.6.5  在柱形顶部显示数值 327
11.7  绘制折线图 328
11.7.1  功能概述 328
11.7.2  创建折线图数据集 328
11.7.3  创建折线图 329
11.7.4  解决中文乱码问题 329
11.7.5  设置折线样式 329
11.8  绘制区域图 330
11.8.1  功能概述 330
11.8.2  创建区域图数据集 330
11.8.3  创建区域图 330
11.8.4  解决中文乱码问题 331
技术提炼 331
第12章  MySQL备份还原助手模块
（ 自学视频、源程序：
配套资源\mr\12\） 336
12.1  MySQL备份还原助手模块
概述 337
12.1.1  系统登录 337
12.1.2  备份数据 337
12.1.3  还原数据 337
12.1.4  程序预览 337
12.2  系统登录功能 338
12.2.1  系统登录功能概述 338
12.2.2  窗体设计 338
12.2.3  使用Commons Configuration
组件读取XML文件 339
12.2.4  使用正则表达式校验IP和
端口号 340
12.2.5  限制文本控件可用
字符数 341
12.2.6  使用输入信息获得数据库
连接 343
12.2.7  控件居中显示 344
12.3  备份数据功能 344
12.3.1  备份数据功能概述 344
12.3.2  窗体设计 344
12.3.3  获得数据库schema和
表格信息 345
12.3.4  自定义支持复选框的
表格 346
12.3.5  向表格模型中增加数据 347
12.3.6  处理JTable控件单元格
内容变化事件 348
12.3.7  处理JTable控件单元格
单击事件 348
12.3.8  将备份信息写入文件 349
12.4  还原数据功能 350
12.4.1  还原数据功能概述 350
12.4.2  窗体设计 350
12.4.3  创建schema 351
12.4.4  处理JList控件列表项
选择事件 352
12.4.5  还原用户选择的文件 352
技术提炼 353
第13章  电子地图模块
（ 自学视频、源程序：
配套资源\mr\13\） 361
13.1  电子地图模块概述 362
13.1.1  地图操作功能 362
13.1.2  标记操作功能 362
13.1.3  更换地图功能 362
13.1.4  程序预览 362
13.2  地图处理器 364
13.2.1  地图处理器功能概述 364
13.2.2  获得小地图 364
13.2.3  处理缩放和显示位置 367
13.3  地图显示 368
13.3.1  地图显示功能概述 368
13.3.2  绘制大地图 369
13.3.3  绘制小地图 371
13.4  地图操作 373
13.4.1  地图操作功能概述 373
13.4.2  实现地图缩放功能 373
13.4.3  实现地图移动功能 375
13.5  标记维护 376
13.5.1  标记维护功能概述 376
13.5.2  创建弹出菜单 376
13.5.3  创建和修改标记 378
13.5.4  删除标记 380
13.5.5  查看标记信息 381
13.6  标记搜索 382
13.6.1  标记搜索功能概述 382
13.6.2  常用搜索 382
13.6.3  高级搜索 383
13.6.4  描红并居中显示标记 385
技术提炼 386