标题：Java编程宝典
内容简介
  Java编程宝典(十年典藏版)(1DVD）本书是一本集技能、范例、项目和应用为一体的学习手册，书中介绍了应用Java进行程序开发的各种技术和技巧。全书分4篇，共27章，其中第1篇为技能学习篇，主要包括Java初体验、Eclipse与NetBeans、基本语法、控制流程语句、数组、类与对象、字符串、继承与多态、接口与抽象类、集合与异常处理、IO流、TCP与UDP技术、窗体程序开发、多线程技术、JDBC技术、GUI事件处理机制、Swing高级组件、绘图与打印技术等内容；第2篇为范例演练篇，主要包括基础知识演练、实用工具、图形图像、娱乐先锋等相关的范例；第3篇为项目实战篇，主要包括网页浏览器、蓝宇快递打印系统、编程词典用户管理系统、讯友桌面通讯录等4个小型项目；第4篇为商业系统篇，主要包括一个大型的商业项目，即明日图书开发计划管理系统。
本书附有配套DVD光盘，光盘提供了书中全部实例和项目的源代码，这些源代码全部经过精心调试，能够在Windows XP、Windows Server 2003及Windows 7操作系统下编译和运行。
本书适用于Java的初学者、编程爱好者，同时也可以作为培训机构、大中专院校老师和学生的学习参考用书。
图书目录
第1篇　技能学习篇
第1章　迈向Java编程第一步——Java初体验　
6个编程技术要点
4个编程技巧说明
1个编程注意事项
1.1　本章学习任务　4
1.1.1　本章所学知识　4
1.1.2　实际操作任务　4
1.2　关于Java语言的诞生　4
1.3　了解Java的应用领域　5
1.4　身边的Java成功案例　6
1.5　学会搭建Java开发环境　7
1.5.1　为什么要安装JDK　7
1.5.2　安装JDK　7
1.5.3　配置环境变量　8
1.5.4　如何测试环境是否搭建成功　10
1.6　你的第一个Java程序　10
1.7　疑难解惑　12
1.7.1　环境按键的问题　12
1.7.2　如何学好Java　13
1.8　精彩回顾　13
第2章　掌握两种免费的开发工具——Eclipse与NetBeans　
11个编程技术要点
1个编程技巧说明
1个编程注意事项
2.1　本章学习任务　16
2.1.1　本章所学知识　16
2.1.2　实例演练任务　16
2.2　了解Eclipse开发工具　16
2.2.1　为什么要使用Eclipse开发工具　16
2.2.2　带你熟悉Eclipse开发工具　16
2.3　学习使用Eclipse开发程序　18
2.3.1　一切从创建项目开始　18
2.3.2　在项目中新建Java类　19
2.3.3　如何运行Java程序　19
2.4　了解NetBeans开发工具　20
2.4.1　NetBeans开发工具的特点　20
2.4.2　带你熟悉NetBeans开发工具　20
2.5　学习使用NetBeans开发程序　21
2.5.1　在NetBeans中创建Java类　21
2.5.2　在NetBeans下运行Java程序　22
2.6　疑难解惑　22
2.6.1　IDE是什么意思　22
2.6.2　Eclipse运行问题　23
2.7　精彩回顾　23
第3章　八项基本原则——基本语法　
26个编程技术要点
6个编程技巧说明
6个编程注意事项
12个实例应用详解
3.1　本章学习任务　26
3.1.1　本章所学知识　26
3.1.2　实例开发任务　26
3.2　Java中的基本数据类型有哪些　27
3.2.1　整数类型　27
3.2.2　浮点类型　28
3.2.3　字符类型　28
3.2.4　布尔类型　29
3.2.5　如何实现数据类型之间的转换　30
3.3　学会运用运算符　31
3.3.1　无处不在的赋值运算符　31
3.3.2　重温算术运算　31
3.3.3　什么是自增自减运算符　32
3.3.4　一起认识比较运算符　33
3.3.5　为什么要使用逻辑运算符　34
3.3.6　学会使用位运算符　35
3.3.7　三元运算符　37
3.3.8　熟悉运算符的优先级　37
3.4　学习区分变量与常量　38
3.4.1　为什么要在程序中定义变量　38
3.4.2　什么时候需要定义常量　39
3.4.3　变量的有效范围　39
3.5　标识符与关键字　41
3.5.1　如何定义合法的标识符　41
3.5.2　这些关键字要记清　42
3.6　灵活使用代码注释　42
3.6.1　学会使用最频繁的单行注释　42
3.6.2　如何使用多行注释　42
3.6.3　为什么要使用文档注释　43
3.7　初学者的代码问题　43
3.8　实战检验　44
3.8.1　类型转换运算符使用实例　44
3.8.2　获取字符的unicode编码　45
3.8.3　计算长方形的周长　46
3.9　疑难解惑　46
3.9.1　为什么要进行丢失精度的类型转换　46
3.9.2　表达式“12345+5432l”究竟会输出什么　46
3.10　精彩回顾　47
第4章　一切都要井井有条——流程控制语句　
2个编程技术要点
2个编程技巧说明
2个编程注意事项
12个实例应用详解
4.1　本章学习任务　50
4.1.1　本章所学知识　50
4.1.2　实例开发任务　50
4.2　如何使用好条件语句　50
4.2.1　使用if条件判断语句　51
4.2.2　学会使用switch语句　54
4.2.3　if语句与switch语句的区别　56
4.3　如何使用好循环语句　57
4.3.1　循环语句的半边天for语句　57
4.3.2　必须掌握while循环语句　58
4.3.3　学会使用do…while循环语句　59
4.4　测试循环跳转语句　61
4.4.1　结束本次循环的continue语句　61
4.4.2　强行退出循环的break语句　61
4.4.3　在循环中使用标签　62
4.5　实战检验　63
4.5.1　打印输出菱形　63
4.5.2　计算阶乘　64
4.6　疑难解惑　64
4.6.1　for语句与while语句的使用区别　64
4.6.2　if语句与switch语句的使用区别　65
4.7　精彩回顾　65
第5章　掌握串联的变量——数组　
2个编程技巧说明
2个编程注意事项
12个实例应用详解
5.1　本章学习任务　68
5.1.1　本章所学知识　68
5.1.2　实例开发任务　68
5.2　学会使用一维数组　68
5.2.1　一维数组的创建　69
5.2.2　怎样对一维数组进行初始化　70
5.2.3　如何遍历一维数组　70
5.3　学会使用二维数组　71
5.3.1　创建二维数组　71
5.3.2　怎样对二维数组进行初始化　72
5.3.3　学会使用二维数组　72
5.4　使用foreach遍历数组　73
5.5　实战检验　75
5.5.1　使用冒泡排序法进行排序　75
5.5.2　使用sort()方法实现数组排序　76
5.5.3　复制数组　76
5.6　疑难解惑　78
5.6.1　解析数组下标越界异常　78
5.6.2　数组最大容量问题　79
5.7　精彩回顾　79
第6章　深入了解面向对象精髓——类与对象　
17个编程技术要点
6个编程技巧说明
2个编程注意事项
8个实例应用详解
6.1　本章学习任务　82
6.1.1　本章所学知识　82
6.1.2　实例开发任务　82
6.2　面向对象概述　82
6.3　如何实现类的定义　83
6.4　解密Java中的类包　84
6.4.1　为什么要定义包　84
6.4.2　如何定义包　85
6.4.3　实现在类中导入包　85
6.5　掌握Java类　86
6.5.1　成员方法　86
6.5.2　静态方法　86
6.5.3　静态块　87
6.5.4　权限修饰符　87
6.5.5　理解程序主方法　88
6.6　什么是方法重载　89
6.7　教你如何实现方法中的参数传递　90
6.7.1　解析基本数据类型的参数传递　90
6.7.2　解析对象类型参数传递　92
6.8　如何理解构造方法　93
6.8.1　解析构造方法的作用　93
6.8.2　构造方法使用的一些细节　93
6.9　体验活字印刷——对象　94
6.9.1　关于对象的产生与使用　94
6.9.2　什么是匿名对象　95
6.9.3　销毁对象　96
6.10　实战检验　96
6.11　疑难解惑　97
6.11.1　所有的类都有构造方法吗　97
6.11.2　如何处理一个类继承多个父类的情况　97
6.12　精彩回顾　97
第7章　掌握字符的集合——字符串　
2个编程技巧说明
5个编程注意事项
11个实例应用详解
7.1　本章学习任务　100
7.1.1　本章所学知识　100
7.1.2　实例开发任务　100
7.2　理解字符串的基本概念　100
7.3　如何创建字符串　101
7.3.1　什么是字符串常量　101
7.3.2　产生String对象　101
7.4　掌握常见的字符串操作　103
7.4.1　获取字符串的长度　103
7.4.2　对字符串进行截取　104
7.4.3　如何分割字符串　105
7.4.4　去除字符串尾部空格　106
7.4.5　查找字符串　107
7.4.6　比较字符串是否相等　109
7.5　深入学习可变字符串　110
7.6　实战检验　112
7.6.1　字符串反转　112
7.6.2　实现字符串的大小写转换　113
7.7　疑难解惑　113
7.7.1　‘a’与“a”的区别　113
7.7.2　如何区别0、空字符串、Null　114
7.8　精彩回顾　114
第8章　考研求职两不误——继承与多态　
1个编程技术要点
1个编程技巧说明
2个编程注意事项
7个实例应用详解
8.1　本章学习任务　116
8.1.1　本章所学知识　116
8.1.2　实例开发任务　116
8.2　理解父类与子类的关系　117
8.2.1　父类与子类的特点　117
8.2.2　如何定义子类　118
8.3　掌握继承中的覆盖现象　119
8.3.1　如何实现覆盖父类的方法　119
8.3.2　super关键字　120
8.4　解析面向对象的多态性　121
8.4.1　方法重载　122
8.4.2　上转型　123
8.5　实战检验　123
8.5.1　多态方式计算图形面积　124
8.5.2　重写equals()方法　124
8.6　疑难解惑　126
8.7　精彩回顾　126
第9章　领略面向对象的抽象性——接口与抽象类　
1个编程技术要点
3个编程技巧说明
1个编程注意事项
5个实例应用详解
9.1　本章学习任务　130
9.1.1　本章所学知识　130
9.1.2　实例开发任务　130
9.2　定义接口的意义　130
9.2.1　接口定义　131
9.2.2　实现接口　131
9.3　掌握Java中的特殊类　132
9.3.1　定义抽象类　132
9.3.2　解析抽象方法　133
9.4　创建内部类　134
9.5　实战检验　135
9.6　疑难解惑　136
9.6.1　抽象类为什么不能被实例化　136
9.6.2　接口与抽象类的区别　136
9.7　精彩回顾　136
第10章　Java编程必修课——集合与异常处理　
12个编程技术要点
6个编程技巧说明
17个实例应用详解
10.1　本章学习任务　140
10.1.1　本章所学知识　140
10.1.2　实例开发任务　140
10.2　什么是集合类　141
10.3　认识Collection集合　141
10.3.1　Collection接口　141
10.3.2　Collection接口中的常用方法　142
10.4　掌握几种常见的集合类　145
10.4.1　List集合　145
10.4.2　Set集合　150
10.4.3　Map集合　151
10.5　在程序中使用异常处理　154
10.5.1　常见的异常类有哪些　154
10.5.2　使用异常处理的好处　155
10.5.3　捕获异常的几种形式　155
10.6　实战检验　159
10.6.1　简易电话簿　159
10.6.2　去除List集合中的重复值　159
10.7　疑难解惑　160
10.7.1　移除集合中的所有元素　160
10.7.2　如何实现List集合按指定顺序排序　160
10.8　精彩回顾　161
第11章　数据交互管道——IO流　
15个编程技术要点
3个编程技巧说明
1个编程注意事项
9个实例应用详解
11.1　本章学习任务　164
11.1.1　本章所学知识　164
11.1.2　实例开发任务　164
11.2　掌握输入输出的重要性　164
11.3　解析文件处理的奥秘　165
11.3.1　学习使用文件类　166
11.3.2　如何获取文件信息　166
11.4　学习使用字节输入输出流　168
11.4.1　字节输入流抽象类InputStream　168
11.4.2　字节输出流抽象类OutputStream　169
11.4.3　文件字节输入流类FileInputStream　170
11.4.4　文件字节输出流类FileOutputStream　170
11.5　学习使用字符输入输出流　171
11.5.1　字符输入流抽象类Reader　171
11.5.2　字符输出流抽象类Writer　172
11.5.3　文件字符输入流FileReader　172
11.5.4　文件字符输出流FileWriter　174
11.6　实战检验　175
11.6.1　复制文件夹　175
11.6.2　分行向文件中写入数据　176
11.6.3　删除指定文件　177
11.7　疑难解惑　177
11.7.1　为什么要使用close()方法关闭流　177
11.7.2　如何区分输入流与输出流　177
11.8　精彩回顾　178
第12章　开启网络编程之门——TCP与UDP技术　
2个编程技巧说明
2个编程注意事项
5个实例应用详解
12.1　本章学习任务　180
12.1.1　本章所学知识　180
12.1.2　实例开发任务　180
12.2　学网络编程必备的端口与套接字知识　181
12.2.1　什么是端口　181
12.2.2　什么是套接字　181
12.3　学习TCP编程原理　182
12.3.1　什么是TCP协议　182
12.3.2　掌握TCP编程的常用类　183
12.3.3　如何编写TCP程序　186
12.4　学习UDP编程原理　187
12.4.1　什么是UDP协议　187
12.4.2　掌握UDP编程的常用类　188
12.5　实战检验　189
12.5.1　聊天室　189
12.5.2　广播数据报　191
12.6　疑难解惑　193
12.6.1　什么是局域网与因特网　193
12.6.2　为什么要使用不保证安全的UDP　193
12.7　精彩回顾　194
第13章　奠定桌面程序开发基石——窗体程序开发　
2个编程技巧说明
3个编程注意事项
17个实例应用详解
13.1　本章学习任务　196
13.1.1　本章所学知识　196
13.1.2　实例开发任务　196
13.2　学会创建JFrame窗体　196
13.2.1　认识JFrame类　197
13.2.2　学会创建JFrame窗体　197
13.3　必须由你向窗体中添加面板　198
13.3.1　JPanel面板的应用　198
13.3.2　JScrollPane面板的应用　199
13.3.3　分割面板的应用　200
13.3.4　选项卡面板的应用　202
13.4　选择合理的布局方式　205
13.4.1　灵活指定组件位置的绝对布局　205
13.4.2　窗体默认的边界布局　207
13.4.3　奇妙的网格布局　208
13.4.4　按指定方向摆放组件的流式布局　210
13.5　掌握基本控件　211
13.5.1　标签控件　211
13.5.2　普通按钮控件　212
13.5.3　单选按钮控件　213
13.5.4　复选框控件　215
13.5.5　文本控件　216
13.5.6　列表控件　218
13.6　实战检验　220
13.6.1　制作不规则按钮　220
13.6.2　设置关于窗体　221
13.7　疑难解惑　222
13.7.1　窗体被设置为不可见有什么用处　222
13.7.2　为什么调整窗体大小后才会显示控件　222
13.8　精彩回顾　222
第14章　领略Java程序的动感地带——多线程技术　
12个编程技术要点
2个编程技巧说明
1个编程注意事项
5个实例应用详解
14.1　本章学习任务　226
14.1.1　本章所学知识　226
14.1.2　实例开发任务　226
14.2　程序什么时候会涉及多线程　227
14.2.1　什么是多线程　227
14.2.2　了解线程的生命周期　227
14.3　如何实现多线程　228
14.3.1　通过继承Thread类创建多线程　228
14.3.2　通过实现Runnable接口创建多线程　229
14.4　线程控制　231
14.4.1　线程的启动　231
14.4.2　线程的休眠　231
14.4.3　怎样使线程停止　232
14.4.4　设置线程的优先级　233
14.5　实战检验　234
14.5.1　会游泳的鱼　234
14.5.2　控件的曲线运动　235
14.6　疑难解惑　236
14.6.1　什么是死锁问题　236
14.6.2　如何实现线程之间的通信　236
14.7　精彩回顾　236
第15章　Java程序与数据库的纽带——JDBC技术　
19个编程技术要点
6个编程技巧说明
1个编程注意事项
9个实例应用详解
15.1　本章学习任务　238
15.1.1　本章所学知识　238
15.1.2　实例开发任务　238
15.2　了解数据库基础知识　238
15.2.1　生活中的数据库　239
15.2.2　了解数据库的特点及分类　239
15.3　用Java操作数据库必须学习JDBC技术　240
15.3.1　新的起点——JDBC技术　240
15.3.2　为什么要在项目中添加数据库驱动　240
15.4　认识JDBC中不可缺少的类与接口　240
15.4.1　管理数据库驱动类DriverManager　241
15.4.2　数据库连接接口Connection　241
15.4.3　发送SQL语句接口Statement　242
15.4.4　可执行动态SQL的接口PreparedStatement　242
15.4.5　查询结果集接口ResultSet　243
15.5　深入了解数据库操作知识　244
15.5.1　操作数据库的执行步骤　244
15.5.2　向数据库中添加数据　247
15.5.3　删除数据库中的数据　248
15.5.4　修改数据库中的数据　249
15.5.5　从数据库中查询数据　250
15.5.6　使用预处理语句的好处有哪些　252
15.6　实战检验　254
15.6.1　将查询结果显示在窗体中　254
15.6.2　修改员工工资信息　256
15.7　疑难解惑　257
15.7.1　数据库加载异常　257
15.7.2　SQL语句异常　257
15.8　精彩回顾　258
第16章　让窗体活起来——GUI事件处理机制　
10个编程技术要点
2个编程技巧说明
6个实例应用详解
16.1　本章学习任务　260
16.1.1　本章所学知识　260
16.1.2　实例开发任务　260
16.2　实现Java程序的动感地带——GUI事件　261
16.2.1　GUI事件类　261
16.2.2　事件监听器　262
16.3　动作事件　263
16.4　掌握窗体控制　264
16.5　掌握鼠标操作　265
16.5.1　鼠标事件监听器　265
16.5.2　如何实现鼠标事件处理　266
16.6　掌握键盘控制事件　267
16.6.1　键盘事件监听器　267
16.6.2　如何实现键盘事件处理　269
16.7　实战检验　270
16.7.1　登录窗体　270
16.7.2　匹配游戏　272
16.8　疑难解惑　273
16.8.1　适配器与事件监听接口的区别　273
16.8.2　事件类、监听接口、事件适配器的关系　274
16.9　精彩回顾　274
第17章　驱赶枯燥编程——Swing高级控件　
20个编程技术要点
5个编程技巧说明
4个编程注意事项
12个实例应用详解
17.1　本章学习任务　276
17.1.1　本章所学知识　276
17.1.2　实例开发任务　276
17.2　怎样为窗体添加菜单　276
17.2.1　为窗体添加菜单的第一步——创建菜单栏　276
17.2.2　为窗体添加菜单的第二步——创建菜单　277
17.2.3　为窗体添加菜单的第三步——创建菜单项　277
17.2.4　如何创建弹出式菜单　279
17.3　实现为窗体添加工具栏与对话框　280
17.3.1　创建工具栏　281
17.3.2　为工具栏添加工具按钮　281
17.3.3　打开本地文件的文件对话框　282
17.3.4　为用户提供信息对话框　284
17.3.5　色彩斑斓的颜色对话框　286
17.3.6　实现确认操作的确认对话框　287
17.4　学会数据统计工具——表格控件　288
17.4.1　实现创建表格　288
17.4.2　掌握表格的常用方法　289
17.4.3　对模型的事件监听与处理　291
17.5　如何使用系统托盘　294
17.5.1　实现获取系统托盘　294
17.5.2　怎样为系统托盘添加图标　295
17.5.3　添加弹出菜单　296
17.6　实战检验　297
17.6.1　随意获取文件属性　297
17.6.2　实现浏览图片　299
17.7　疑难解惑　300
17.7.1　如何实现菜单的启用与禁用　300
17.7.2　Swing是AWT的替代吗　301
17.8　精彩回顾　301
第18章　解析多彩编程——绘图与打印技术　
11个编程技巧说明
2个编程注意事项
11个实例应用详解
18.1　本章学习任务　304
18.1.1　本章所学知识　304
18.1.2　实例开发任务　304
18.2　Java绘图　306
18.2.1　Graphics类　306
18.2.2　Graphics2D类　306
18.3　绘制图形　307
18.4　绘图颜色与笔画属性　310
18.4.1　绘图颜色的设置　310
18.4.2　设置笔画的属性　311
18.5　绘制文本　312
18.5.1　设置字体、字号和字形　312
18.5.2　显示文本内容　312
18.6　绘制图像　314
18.6.1　绘制图像　314
18.6.2　图像翻转特效　315
18.6.3　放大和缩小图片　318
18.6.4　图像倾斜　320
18.6.5　旋转图像　321
18.7　打印控制类　322
18.8　打印对话框　323
18.9　打印页面　324
18.10　实战检验　326
18.10.1　简单的画图程序　326
18.10.2　实现打印预览　329
18.11　疑难解惑　332
18.11.1　解决绘图时屏幕闪耀现象　332
18.11.2　Graphics类与Graphics2D类的区别　332
18.12　精彩回顾　333
第2篇　范例演练篇
第19章　基础知识演练　
5个编程技术要点
2个编程技巧说明
4个实例应用详解
19.1　磁盘文件的分割与合并　338
19.1.1　范例功能演示　338
19.1.2　开发思路指引　338
19.1.3　专家难点解析　339
19.1.4　设计过程详解　340
19.1.5　范例开发手记　347
19.1.6　进阶与提高　347
19.2　金额数字大小写转换　348
19.2.1　范例功能演示　348
19.2.2　开发思路指引　348
19.2.3　专家难点解析　349
19.2.4　设计过程详解　349
19.2.5　范例开发手记　353
19.2.6　进阶与提高　354
19.3　生肖运势词典　354
19.3.1　范例功能演示　354
19.3.2　开发思路指引　355
19.3.3　专家难点解析　356
19.3.4　设计过程详解　356
19.3.5　范例开发手记　360
19.3.6　进阶与提高　360
19.4　久久读心术　360
19.4.1　范例功能演示　360
19.4.2　开发思路指引　361
19.4.3　专家难点解析　362
19.4.4　设计过程详解　362
19.4.5　范例开发手记　365
19.4.6　进阶与提高　366
第20章　实用工具　
7个编程技术要点
2个编程技巧说明
4个实例应用详解
20.1　模拟石英钟　368
20.1.1　范例功能演示　368
20.1.2　开发思路指引　368
20.1.3　专家难点解析　369
20.1.4　设计过程详解　369
20.1.5　范例开发手记　372
20.1.6　进阶与提高　372
20.2　明日万年历　373
20.2.1　范例功能演示　373
20.2.2　开发思路指引　373
20.2.3　专家难点解析　374
20.2.4　设计过程详解　374
20.2.5　范例开发手记　379
20.2.6　进阶与提高　379
20.3　MySQL数据库备份与恢复　380
20.3.1　范例功能演示　380
20.3.2　开发思路指引　380
20.3.3　专家难点解析　381
20.3.4　设计过程详解　381
20.3.5　范例开发手记　388
20.3.6　进阶与提高　388
20.4　电子计算器　389
20.4.1　范例功能演示　389
20.4.2　开发思路指引　389
20.4.3　专家难点解析　390
20.4.4　设计过程详解　390
20.4.5　范例开发手记　394
20.4.6　进阶与提高　394
第21章　图形图像　
5个编程技术要点
1个编程技巧说明
1个编程注意事项
5个实例应用详解
21.1　模拟相机取景框　396
21.1.1　范例功能演示　396
21.1.2　开发思路指引　396
21.1.3　专家难点解析　397
21.1.4　设计过程详解　397
21.1.5　范例开发手记　399
21.1.6　进阶与提高　400
21.2　为图片加水印文字　400
21.2.1　范例功能演示　400
21.2.2　开发思路指引　401
21.2.3　专家难点解析　401
21.2.4　设计过程详解　402
21.2.5　范例开发手记　405
21.2.6　进阶与提高　405
21.3　画梅花　406
21.3.1　范例功能演示　406
21.3.2　开发思路指引　407
21.3.3　专家难点解析　408
21.3.4　设计过程详解　408
21.3.5　范例开发手记　411
21.3.6　进阶与提高　411
21.4　窗体中的乒乓球　412
21.4.1　范例功能演示　412
21.4.2　开发思路指引　413
21.4.3　专家难点解析　413
21.4.4　设计过程详解　413
21.4.5　范例开发手记　417
21.4.6　进阶与提高　417
21.5　顺时针绘制文本　417
21.5.1　范例功能演示　417
21.5.2　开发思路指引　418
21.5.3　专家难点解析　419
21.5.4　设计过程详解　419
21.5.5　范例开发手记　422
21.5.6　进阶与提高　422
第22章　娱乐先锋　
4个编程技术要点
3个编程技巧说明
4个实例应用详解
22.1　海滩捉螃蟹　424
22.1.1　范例功能演示　424
22.1.2　开发思路指引　424
22.1.3　专家难点解析　425
22.1.4　设计过程详解　426
22.1.5　范例开发手记　428
22.1.6　进阶与提高　429
22.2　抽奖大转盘　429
22.2.1　范例功能演示　429
22.2.2　开发思路指引　430
22.2.3　专家难点解析　431
22.2.4　设计过程详解　431
22.2.5　范例开发手记　433
22.2.6　进阶与提高　433
22.3　荒山打猎游戏　434
22.3.1　范例功能演示　434
22.3.2　开发思路指引　435
22.3.3　专家难点解析　435
22.3.4　设计过程详解　436
22.3.5　范例开发手记　442
22.3.6　进阶与提高　442
22.4　拼图游戏　443
22.4.1　范例功能演示　443
22.4.2　开发思路指引　444
22.4.3　专家难点解析　444
22.4.4　设计过程详解　445
22.4.5　范例开发手记　450
22.4.6　进阶与提高　450
第3篇　项目实战篇
第23章　网页浏览器——最好用的网页浏览工具　
4个编程技术要点
2个编程技巧说明
1个编程注意事项
1个实例应用详解
23.1　网页浏览器　454
23.1.1　开发背景　454
23.1.2　需求分析　454
23.1.3　功能结构图　455
23.1.4　程序预览　455
23.2　技术攻关　457
23.2.1　显示网页内容　457
23.2.2　浏览器控制　458
23.2.3　阻止IE浏览器打开弹出窗口　459
23.2.4　收藏夹的保存与装载　459
23.2.5　控制选项卡标签的位置　461
23.3　实现菜单栏　462
23.3.1　文件菜单　462
23.3.2　转到菜单　463
23.3.3　调整菜单　464
23.4　工具栏的实现　465
23.5　地址栏的实现　467
23.6　实现浏览器选项卡　468
23.6.1　下载JDIC库　468
23.6.2　继承扩展浏览器组件　470
23.6.3　编写浏览器面板　471
23.6.4　编写浏览器选项卡面板　472
23.6.5　扩展选项卡面板的选择模型　472
23.6.6　编写浏览器组件的监听器　473
23.7　实现收藏夹　474
23.7.1　创建菜单　474
23.7.2　添加到收藏夹　475
23.7.3　整理收藏夹　478
23.8　程序调试与错误处理　482
23.9　开发总结　482
第24章　蓝宇快递打印系统——绝对的流行项目　
2个编程技术要点
18个编程技巧说明
2个编程注意事项
1个实例应用详解
24.1　蓝宇快递打印系统　484
24.1.1　开发背景　484
24.1.2　需求分析　484
24.1.3　功能结构图　485
24.2　数据库设计　485
24.2.1　设计E-R图　485
24.2.2　设计数据表　486
24.3　技术攻关　487
24.3.1　获取打印对象　487
24.3.2　设置打印内容　488
24.4　公共类设计　489
24.4.1　公共类DAO　489
24.4.2　公共类SaveUserStateTool　490
24.4.3　公共类BackgroundPanel　490
24.5　系统登录窗体　491
24.5.1　设计系统登录窗体　491
24.5.2　实现系统登录功能　492
24.6　蓝宇快递打印系统主窗体　493
24.6.1　设计系统主窗体　494
24.6.2　通过菜单项事件打开操作窗口　494
24.7　添加快递信息窗体　495
24.7.1　设计添加快递信息窗体　496
24.7.2　保存快递信息　496
24.8　修改快递信息窗体　498
24.8.1　设计修改快递信息窗体　499
24.8.2　保存修改后的快递信息　499
24.8.3　浏览快递信息　501
24.9　打印快递单与打印设置窗体　502
24.9.1　设计打印快递单与打印设置窗体　502
24.9.2　打印快递单　503
24.10　添加用户窗体　505
24.10.1　设计添加用户窗体　505
24.10.2　保存新用户信息　506
24.11　修改用户密码窗体　507
24.11.1　设计修改用户密码窗体　507
24.11.2　保存用户密码的修改　507
24.12　程序调试与错误处理　508
24.13　开发总结　509
第25章　编程词典用户管理系统——企业最需要的项目　
3个编程技术要点
21个编程技巧说明
2个编程注意事项
1个实例应用详解
25.1　编程词典用户管理系统　512
25.1.1　开发背景　512
25.1.2　需求分析　513
25.1.3　功能结构图　513
25.2　数据库设计　514
25.2.1　设计E-R图　514
25.2.2　设计数据表　515
25.3　技术攻关　518
25.3.1　为JTable表格设置单元格编辑器　518
25.3.2　进行多个数据表的同步操作　520
25.3.3　批量添加或更新数据表　521
25.4　公共类设计　522
25.4.1　公共类DAO　522
25.4.2　公共类SaveUserStateTool　523
25.5　系统登录窗体　524
25.5.1　创建登录窗体的背景面板类LoginBackPanel　524
25.5.2　设计系统登录窗体　525
25.6　编程词典用户管理系统主窗体　527
25.6.1　创建主窗体的背景面板类MainBackPanel　527
25.6.2　通过菜单项或工具栏按钮的事件打开操作窗口　528
25.7　添加词典信息窗体　528
25.7.1　设计添加词典信息窗体　529
25.7.2　保存词典信息　529
25.8　添加客户信息窗体　530
25.8.1　设计添加客户信息窗体　530
25.8.2　保存客户信息　531
25.9　词典销售窗体　531
25.9.1　设计词典销售窗体　532
25.9.2　在窗体的表格中添加空白行　533
25.9.3　选择组合框中的列表项自动添加信息　533
25.9.4　在表格单元格编辑器中实现自动计算　534
25.9.5　移除表格中不需要的数据行　535
25.9.6　保存销售信息　535
25.10　查询统计窗体　537
25.10.1　设计查询销售信息窗体　537
25.10.2　查询满足条件的销售信息　538
25.10.3　删除销售信息　538
25.11　修改词典销售信息窗体　539
25.11.1　设计修改词典销售信息窗体　540
25.11.2　查询满足条件的销售信息　540
25.11.3　移除表格中不需要的数据行　541
25.11.4　保存所修改的销售信息　542
25.12　添加用户窗体　543
25.12.1　设计添加用户窗体　544
25.12.2　保存新用户信息　544
25.13　修改用户密码窗体　544
25.13.1　设计修改用户密码窗体　545
25.13.2　保存用户密码的修改　545
25.14　程序调试与错误处理　545
第26章　讯友桌面通讯录——最好用的项目　
4个编程技术要点
18个编程技巧说明
1个实例应用详解
26.1　讯友桌面通讯录模块概述　548
26.1.1　开发背景　548
26.1.2　需求分析　549
26.1.3　功能结构图　550
26.2　数据库设计　550
26.2.1　设计E-R图　550
26.2.2　设计数据表　551
26.3　技术攻关　553
26.3.1　微调分隔条位置刷新分割面板　553
26.3.2　使列表框显示按钮外观的列表项　555
26.3.3　在数据表的datetime列存取日期　556
26.3.4　在数据表的image列存取照片　557
26.4　公共类设计　558
26.4.1　公共类DAO　558
26.4.2　公共类SaveUserMessageTool　559
26.4.3　公共类SaveStateTool　560
26.5　系统登录窗体　561
26.5.1　创建背景面板类BackgroundPanel　561
26.5.2　设计系统登录窗体　562
26.6　讯友桌面通讯录主窗体　564
26.6.1　创建添加联系人信息面板AddMessagePanel　566
26.6.2　查询和编辑联系人信息面板EditQueryMessagePanel　569
26.6.3　添加分类名称窗体AddSortFrame　575
26.7　程序调试与错误处理　577
26.8　开发总结　578
第4篇　商业系统篇
第27章　明日图书开发计划管理系统 
7个编程技术要点
21个编程技巧说明
2个编程注意事项
27.1　系统概述　582
27.1.1　开发背景　582
27.1.2　需求分析　582
27.1.3　功能结构图　583
27.1.4　程序界面预览　584
27.2　数据库设计　585
27.2.1　数据库建模　585
27.2.2　数据库建表　585
27.3　系统环境配置　588
27.3.1　创建项目　588
27.3.2　项目类包规划　588
27.3.3　数据库配置　590
27.4　登录模块实现　596
27.4.1　模块概述　596
27.4.2　登录窗体设计　596
27.4.3　编写登录面板　597
27.4.4　编写登录进度面板　598
27.4.5　编写登录窗体　599
27.5　主窗体实现　603
27.5.1　窗体界面设计　603
27.5.2　编写功能按钮组　604
27.5.3　编写登录信息面板　608
27.5.4　编写人员管理面板　609
27.5.5　编写功能区面板　612
27.6　部门管理模块实现　614
27.6.1　部门信息管理　614
27.6.2　职务信息管理　619
27.7　人员管理模块实现　623
27.7.1　基本信息界面　624
27.7.2　联系方式界面　627
27.7.3　详细资料界面　629
27.7.4　操作列表　631
27.7.5　实现人员管理面板　632
27.8　图书计划模块实现　637
27.8.1　图书项目界面　637
27.8.2　单元计划界面　645
27.8.3　图书计划面板　646
27.8.4　个人单元计划面板　650
27.8.5　单元计划表面板　657
27.9　程序调试与错误处理　660
27.9.1　无法使用JDK 6以上的API　660
29.9.2　解除API限制的错误　661
27.9.3　无法连接数据库　661
27.10　系统发布　662
27.10.1　可执行JAR文档　662
27.10.2　数据库初始化脚本　663
27.11　开发总结　664