第1章 窗体与界面设计 1
1.1 设置窗体位置 2
实例001 控制窗体加载时的位置 2
实例002 设置窗体在屏幕中的位置 2
实例003 从上次关闭位置启动窗体 3
实例004 始终在桌面最顶层显示的窗体 4
1.2 设置窗体大小 6
实例005 根据桌面大小调整窗体大小 6
实例006 自定义最大化、最小化和关闭按钮 7
实例007 禁止改变窗体的大小 9
1.3 设置窗体的标题栏 10
实例008 指定窗体标题栏图标 10
实例009 拖动没有标题栏的窗体 11
实例010 取消窗体标题栏与边框 12
实例011 设置闪烁的标题栏 14
1.4 设置窗体的背景 15
实例012 设置窗体背景颜色为淡蓝色 15
实例013 实现带背景图片的窗体 16
实例014 使背景图片自动适应窗体的大小 17
实例015 背景为渐变色的主界面 18
实例016 随机更换窗体背景 20
1.5 窗体形状及应用 21
实例017 椭圆形窗体界面 21
实例018 钻石形窗体 23
实例019 创建透明窗体 24
1.6 对话框 25
实例020 模态对话框与非模态对话框 25
实例021 信息提示对话框 26
实例022 设置信息提示对话框的图标 27
实例023 文件选择对话框指定数据库备份文件 28
实例024 指定打开对话框的文件类型 29
实例025 文件的保存对话框 31
实例026 为保存对话框设置默认文件名 32
实例027 支持图片预览的文件选择对话框 33
实例028 颜色选择对话框 35
实例029 信息输入对话框 36
实例030 定制信息对话框 37
1.7 MDI窗体的使用 38
实例031 创建内部子窗体 38
实例032 使子窗体最大化显示 40
实例033 对子窗体进行平铺排列 41
实例034 禁用MDI窗体控制栏中的“最大化”按钮 42
1.8 为窗体设置特效 43
实例035 右下角弹出信息窗体 43
实例036 淡入淡出的窗体 45
实例037 窗体顶层的进度条 46
实例038 设置窗体的鼠标光标 47
实例039 窗体抖动 49
实例040 窗体标题显示计时器 50
实例041 动态展开窗体 51
实例042 仿QQ隐藏窗体 52
实例043 窗体百叶窗登场特效 53
实例044 关闭窗体打开网址 54
第2章 控件应用 57
2.1 顶层容器的应用 58
实例045 设置框架容器的背景图片 58
实例046 更多选项的框架容器 59
实例047 拦截事件的玻璃窗格 60
实例048 简单的每日提示信息 61
实例049 震动效果的提示信息 62
2.2 输入控件的应用 64
实例050 只能输入整数的文本域 64
实例051 可以打开网页的标签 65
实例052 密码域控件的简单应用 66
实例053 给文本域设置背景图片 67
实例054 给文本区设置背景图片 68
实例055 简单的字符统计工具 69
2.3 选择控件的应用 70
实例056 能预览图片的复选框 70
实例057 简单的投票计数软件 71
实例058 单选按钮的简单应用 72
实例059 能显示图片的组合框 73
实例060 使用滑块来选择日期 75
2.4 菜单控件的应用 77
实例061 模仿记事本的菜单栏 77
实例062 自定义纵向的菜单栏 78
实例063 复选框与单选按钮菜单 80
实例064 包含图片的弹出菜单 81
实例065 工具栏的实现与应用 82
2.5 列表的应用 83
实例066 修改列表项显示方式 83
实例067 修改列表项选择模式 84
实例068 列表项的全选与不选 86
实例069 监听列表项单击事件 87
实例070 监听列表项双击事件 88
实例071 实现自动排序的列表 89
实例072 列表项的增加与删除 90
实例073 查找特定的列表元素 91
实例074 包含图片的列表元素 92
实例075 可以预览字体的列表 94
2.6 表格的应用 95
实例076 设置表头与列的高度 95
实例077 调整表格各列的宽度 96
实例078 设置表格的选择模式 98
实例079 单元格的粗粒度排序 99
实例080 实现表格的查找功能 100
实例081 在表格中应用组合框 101
实例082 删除表格中选中的行 103
实例083 实现表格的分页技术 104
实例084 为单元格绘制背景色 107
实例085 实现表格的栅栏效果 108
实例086 单元格的细粒度排序 109
2.7 树控件的应用 111
实例087 编写中国省市信息树 111
实例088 自定义树节点的图标 112
实例089 监听节点的选择事件 113
实例090 设置树控件选择模式 115
实例091 在树控件中增加节点 116
实例092 在树控件中删除节点 117
实例093 在树控件中查找节点 119
实例094 自定义树节点的外观 120
实例095 为树节点增加提示信息 122
实例096 双击编辑树节点功能 124
2.8 JTextPane控件的应用 125
实例097 自定义文档标题的样式 125
实例098 文档中显示自定义图片 126
实例099 检查代码中的括号是否匹配 127
实例100 描红显示100以内的质数 129
2.9 JEditorPane控件的应用 131
实例101 自定义RTF文件查看器 131
实例102 编写简单的浏览器 132
实例103 支持超链接的浏览器 133
实例104 高亮显示指定的关键字 134
2.10 进度指示器的应用 135
实例105 显示完成情况的进度条 135
实例106 监听进度条的变化事件 137
实例107 进度监视器控件的应用 138
实例108 监视文件读入的进度 140
2.11 微调控件 142
实例109 使用微调控件调整时间 142
实例110 使用微调控件浏览图片 143
2.12 自定义控件 144
实例111 石英钟控件 144
实例112 IP输入文本框控件 145
实例113 日历控件 148
实例114 平移面板控件 149
实例115 背景图面板控件 151
2.13 控件渲染 153
实例116 支持图标的列表控件 153
实例117 在列表控件中显示单选按钮 154
实例118 列表控件折行显示列表项 155
实例119 使用图片制作绚丽按钮 156
实例120 实现按钮关键字描红 158
实例121 忙碌的按钮控件 159
实例122 实现透明效果的表格控件 160
实例123 在表格中显示工作进度百分比 162
实例124 在表格中显示图片 164
2.14 为控件添加动态效果 165
实例125 鼠标经过时按钮放大效果 165
实例126 迟到的登录按钮 167
实例127 焦点按钮的缩放 168
实例128 标签文本的跑马灯特效 169
实例129 延迟生效的按钮 171
实例130 动态加载表格数据 172
第3章 Commons组件应用 175
3.1 Commons Lang组件 176
实例131 添加数组元素 176
实例132 删除数组元素 177
实例133 生成随机字符串 178
实例134 实现序列化与反序列化 179
实例135 整数取值范围判断 181
3.2 Commons IO组件 182
实例136 简化文件(夹)删除 182
实例137 简化文件(夹)复制 183
实例138 简化文件(夹)排序 184
实例139 简化文件(夹)过滤 185
实例140 简化文件的读写操作 186
3.3 Commons BeanUtils组件 188
实例141 设置JavaBean简单属性 188
实例142 设置JavaBean级联属性 190
实例143 动态生成JavaBean 191
实例144 复制JavaBean属性 193
实例145 动态排序JavaBean 194
3.4 其他Commons组件 196
实例146 优雅的JDBC代码 196
实例147 结果集与Bean列表 197
实例148 编写MD5查看器 199
第4章 数据库技术 201
4.1 通过JDBC-ODBC桥连接数据库 202
实例149 通过JDBC-ODBC桥连接SQL Server 2000数据库 202
实例150 JDBC-ODBC桥连接Access数据库 204
实例151 JDBC-ODBC桥与Oracle数据库建立连接 206
4.2 JDBC技术连接数据库 208
实例152 通过JDBC连接SQL Server2000数据库 208
实例153 JDBC连接MySQL数据库 209
实例154 JDBC连接SQL Server2005数据库 210
实例155 JDBC技术连接Oracle数据库 211
实例156 JDBC连接JavaDB数据库 212
4.3 数据库与数据表 213
实例157 列举SQL Server数据库下的数据表 213
实例158 列举MySQL数据库下的数据表 215
实例159 查看数据表结构 216
实例160 动态维护投票数据库 217
实例161 SQL Server数据备份 219
实例162 SQL Server数据恢复 222
实例163 MySQL数据备份 225
实例164 MySQL数据恢复 227
实例165 动态附加数据库 228
实例166 生成SQL数据库脚本 230
4.4 数据增加、更新与删除操作 232
实例167 将员工信息添加到数据表 232
实例168 添加数据时使用数据验证 233
实例169 插入用户登录日志信息 235
实例170 生成有规律的编号 236
实例171 生成无规律的编号 238
实例172 在插入数据时过滤掉危险字符 239
实例173 将用户选择的爱好以字符串形式保存到数据库 240
实例174 将数据从一张表复制到另一张表 241
实例175 使用UNION ALL语句批量插入数据 242
实例176 更新指定记录 243
实例177 在删除数据时给出提示信息 245
实例178 将数据表清空 246
第5章 SQL查询相关技术 247
5.1 大小比较与逻辑应用 248
实例179 在查询结果中不显示重复记录 248
实例180 使用NOT查询不满足条件的记录 249
实例181 列出销量表中的重复记录和记录条数 251
实例182 使用关系运算符查询某一时间段数据 252
实例183 计算两个日期之间的月份数 253
实例184 在查询语句中过滤掉字符串中的空格 255
5.2 排序和分组 256
实例185 对数据进行降序查询 256
实例186 对数据进行多条件排序查询 258
实例187 对统计结果进行排序 259
实例188 查询SQL Server数据库中的前3条数据 260
实例189 查询SQL Server数据库中的后3条数据 261
实例190 查询MySQL数据库中的前3条数据 262
实例191 查询MySQL数据库中的后3条数据 264
实例192 按照字母顺序对留学生表进行排序 265
实例193 按姓氏笔画排序 266
实例194 将汉字按音序排序 267
实例195 从表中随机返回记录 268
实例196 使用GROUP BY子句实现对数据的分组统计 269
实例197 使用GROUP BY子句实现多表分组统计 270
5.3 聚集函数与日期查询 271
实例198 利用SUM函数实现数据汇总 271
实例199 利用AVG函数实现计算平均值 272
实例200 利用MIN函数求数据表中的最小值 273
实例201 利用MAX函数求数据表中的最大值 274
实例202 利用COUNT函数求销售额大于某值的图书种类 276
实例203 查询编程词典6月的销售量 277
实例204 查询与张静同一天入司的员工信息 278
实例205 使用between进行区间查询 280
实例206 使用IN谓词查询某几个时间的数据 281
实例207 日期查询中避免千年虫问题 282
5.4 使用子查询 284
实例208 将子查询作为表达式 284
实例209 用子查询作为派生表 285
实例210 通过子查询关联数据 286
实例211 使用IN谓词限定查询范围 288
实例212 使用NOT IN子查询实现差集运算 289
实例213 使用NOT IN子查询实现反向查询 290
实例214 在子查询中使用聚集函数 291
实例215 在删除数据时使用子查询 292
5.5 嵌套查询 293
实例216 查询平均成绩在85分以上的学生信息 293
实例217 查询本科部门经理月收入情况 294
实例218 在嵌套中使用EXISTS关键字 296
实例219 动态指定查询条件 297
5.6 连接查询 298
实例220 使用UNION运算符使学生档案归档 298
实例221 内连接获取指定课程的教师信息 299
实例222 左外连接查询员工信息 301
实例223 右外连接查询员工信息 302
实例224 多表外连接查询 303
实例225 完全连接查询 304
5.7 函数查询 305
实例226 在查询中使用patindex()函数进行模糊查询 305
实例227 在查询中使用ALL谓词 306
实例228 在查询中使用ANY谓词 307
实例229 使用UNION运算符消除重复的行 309
实例230 使用UNION ALL运算符保留重复的行 310
实例231 计算商品销售额所占的百分比 311
第6章 数据库高级应用 313
6.1 在Java程序中使用存储过程 314
实例232 调用存储过程实现用户身份验证 314
实例233 应用存储过程添加数据 315
实例234 修改存储过程 317
实例235 删除存储过程 318
6.2 使用触发器 319
实例236 应用触发器添加日志信息 319
实例237 在删除成绩表时将学生表中的数据删除 321
实例238 创建带有触发条件的触发器 323
6.3 批处理的应用 324
实例239 使用批处理删除数据 324
实例240 使用批处理提升部门员工工资 326
实例241 将教师表中的数据全部添加到选课表 327
6.4 使用视图 328
实例242 使用视图过滤不想要的数据 328
实例243 使用视图计算数据 330
实例244 修改视图 331
实例245 删除视图 332
第7章 图形图像技术 335
7.1 绘制图形和文本 336
实例246 绘制直线 336
实例247 绘制矩形 337
实例248 绘制椭圆 338
实例249 绘制圆弧 339
实例250 绘制指定角度的填充扇形 340
实例251 绘制多边形 341
实例252 绘制二次曲线 342
实例253 绘制三次曲线 344
实例254 绘制文本 345
实例255 设置文本的字体 346
实例256 设置文本和图形的颜色 347
7.2 图形处理 348
实例257 图形的加运算效果 348
实例258 图形的减运算效果 349
实例259 图形的交运算效果 351
实例260 图形的异或运算效果 352
实例261 缩放图形 353
实例262 旋转图形 354
实例263 斜切图形 355
实例264 为图形填充渐变色 356
实例265 平移坐标轴 357
7.3 绘制图案 359
实例266 绘制五环图案 359
实例267 绘制艺术图案 360
实例268 绘制花瓣 361
实例269 绘制公章 362
7.4 图像处理 364
实例270 绘制图像 364
实例271 缩放图像 365
实例272 翻转图像 366
实例273 旋转图像 368
实例274 倾斜图像 369
实例275 裁剪图片 370
7.5 颜色处理 371
实例276 调整图片的亮度 371
实例277 转换彩色图片为灰度图片 373
实例278 使用像素值生成图像 374
7.6 文字特效 375
实例279 立体效果的文字 375
实例280 阴影效果的文字 377
实例281 倾斜效果的文字 378
实例282 渐变效果的文字 379
实例283 会变色的文字 380
实例284 水印文字特效 382
实例285 顺时针旋转文字 383
实例286 动态绘制文本 384
实例287 中文验证码 386
实例288 图片验证码 387
实例289 带干扰线的验证码 389
7.7 图片特效 390
实例290 纹理填充特效 390
实例291 水波效果的图片 392
实例292 局部图像放大 394
实例293 图片半透明特效 395
实例294 图片溶合特效 396
实例295 以椭圆形显示图像 397
实例296 图片百叶窗特效 398
实例297 图片马赛克特效 400
实例298 模糊 402
实例299 锐化 403
实例300 照亮边缘 404
实例301 反向 406
实例302 光栅图像 407
实例303 图片倒影效果 409
7.8 其他 411
实例304 图片浏览器 411
实例305 转换图片格式 412
实例306 绘制石英钟 414
实例307 画图程序 415
实例308 屏幕抓图程序 417
实例309 屏幕放大镜 418
第8章 动画 421
8.1 文字动画 422
实例310 文字淡入淡出 422
实例311 文字缩放 423
实例312 文字跑马灯 425
实例313 字幕显示 426
实例314 文字闪现 428
实例315 滚动广告字幕 429
8.2 图片动画 431
实例316 图片淡入淡出 431
实例317 随鼠标指针移动的图片 432
实例318 通过键盘移动图片 434
实例319 图片动态拉伸 435
实例320 桌面弹球 436
实例321 循环滚动图片 439
实例322 撞球动画 440
实例323 电影胶片特效 442
实例324 随机移动的图片 444
实例325 雪花飘落动画 445
实例326 图片旋转动画 447
实例327 图片闪现动画 448
实例328 帧动画效果 449
实例329 水波动画 451
第9章 文件操作技术 455
9.1 文件与数据库 456
实例330 提取数据库内容到文件 456
实例331 提取文本文件的内容到MySQL数据库 457
实例332 将图片文件保存到SQLServer数据库 459
实例333 显示数据库中的图片信息 460
实例334 在数据库中建立磁盘文件索引 462
9.2 操作磁盘文件夹 463
实例335 以树结构显示文件路径 463
实例336 窗体动态加载磁盘文件 465
实例337 删除文件夹中所有文件 466
实例338 创建磁盘索引文件 468
实例339 快速全盘查找文件 469
实例340 获取磁盘所有文本文件 471
实例341 将某文件夹中的文件进行分类存储 473
9.3 文件的读取与写入 474
实例342 键盘录入内容保存到文本文件 474
实例343 将数组写入到文件中并逆序输出 476
实例344 利用StringBuffer避免文件的多次写入 477
实例345 合并多个txt文件 478
实例346 对大文件实现分割处理 480
实例347 将分割后的文件重新合并 481
实例348 在复制文件时使用进度条 483
9.4 文件控制 484
实例349 利用StreamTokenizer统计文件的字符数 484
实例350 在指定目录下搜索文件 486
实例351 文件锁定 487
9.5 文件批量操作 488
实例352 文件批量重命名 488
实例353 快速批量移动文件 491
实例354 删除磁盘中所有的.tmp临时文件 492
实例355 批量复制指定扩展名的文件 494
9.6 RAR文件压缩 496
实例356 文件压缩为RAR文档 496
实例357 解压缩RAR压缩包 499
实例358 文件分卷压缩 501
实例359 从RAR压缩包中删除文件 503
实例360 在压缩文件中查找字符串 505
实例361 重命名RAR压缩包中的文件 506
实例362 创建自解压RAR压缩包 508
实例363 设置RAR压缩包密码 509
9.7 数据压缩的网络应用 511
实例364 以压缩格式传输网络数据 511
实例365 压缩远程文件夹 514
实例366 压缩存储网页 515
第10章 操作办公文档 517
10.1 操作Word 518
实例367 把文本文件导入到Word中 518
实例368 浏览本地Word文件 519
实例369 将员工表插入到Word文档中 521
实例370 将员工照片插入到Word简历 522
实例371 将Word文档保存为HTML格式 523
10.2 操作Excel 524
实例372 将员工信息保存到Excel表中 524
实例373 通过Excel公式计算出商品表中的总售价 526
实例374 将数据库表中的内容写入到Excel 527
实例375 将Excel表中的内容保存到数据库 530
实例376 将Excel文件转换为HTML格式 531
第11章 JFreeChart图表 533
11.1 绘制柱形图 534
实例377 绘制简单柱型图 534
实例378 绘制自定义颜色的柱型图 536
实例379 绘制多系列3D柱形图 537
11.2 绘制饼图 538
实例380 绘制椭圆形饼图 538
实例381 创建3D饼图 539
实例382 绘制3D多饼图 541
11.3 绘制折线图 542
实例383 绘制基本折线图 542
实例384 绘制多条彩色折线图 544
实例385 绘制排序折线图 545
11.4 绘制时序图 546
实例386 绘制基本时序图 546
实例387 绘制双时间轴的时序图 549
第12章 报表打印 551
12.1 打印的控制 552
实例388 打印对话框 552
实例389 实现打印 553
实例390 打印图形 554
实例391 打印图片 555
实例392 打印预览 557
实例393 倒序打印 559
实例394 为打印内容添加水印 560
12.2 打印的应用 562
实例395 打印快递单 562
实例396 打印报表 563
实例397 打印桌面图片 565
实例398 导出报表到Excel表格 566
实例399 相册特效打印程序 568
实例400 镜面效果文本打印 570
实例401 透明的打印预览对话框 571
第13章 操作PDF 573
13.1 创建PDF文档 574
实例402 创建PDF文档 574
实例403 为PDF文档添加水印 575
实例404 在PDF文档中显示中文 576
实例405 为PDF文档添加章节 577
13.2 读取PDF文档 578
实例406 读取普通PDF文档 578
实例407 读取加密的PDF文档 579
实例408 编辑PDF文档 580
实例409 导入并添加水印 582
实例410 拆分PDF文档 583
实例411 合并PDF文档 584
13.3 绘制PDF图形和图像 585
实例412 使用Graphics2D绘制图形 585
实例413 使用PdfGraphics2D绘制文本 586
实例414 使用PdfGraphics2D绘制图形 587
实例415 在PDF文档中添加图片 588
实例416 绘制旋转的图片 590
第14章 解析XML文件 591
14.1 使用SAX解析XML 592
实例417 解析XML元素名称和内容 592
实例418 解析XML元素属性和属性值 594
实例419 使用VO解析XML元素 595
实例420 使用VO解析XML元素和属性 597
实例421 使用SAX验证DTD 599
14.2 使用DOM解析XML 600
实例422 解析XML元素名称和内容 600
实例423 解析XML元素属性和属性值 601
实例424 使用VO解析XML元素和属性 602
14.3 使用DOM操作XML 605
实例425 创建基本的XML文件 605
实例426 使用VO创建XML文件 607
实例427 使用DOM添加XML元素 609
实例428 使用DOM修改XML元素 611
实例429 使用DOM删除XML元素 613
第15章 网络技术 617
15.1 网络资源管理 618
实例430 网络资源的单线程下载 618
实例431 网络资源的多线程下载 619
实例432 下载网络资源的断点继传 621
15.2 TCP网络通信 623
实例433 使用Socket通信 623
实例434 使用Socket传输图片 625
实例435 使用Socket传输视频 627
实例436 一个服务器与一个客户端通信 628
实例437 一个服务器与多个客户端通信 630
15.3 TCP实用程序 631
实例438 聊天室服务器端 631
实例439 聊天室客户端 633
第16章 邮件收发技术 637
16.1 简单邮件 638
实例440 发送邮件 638
实例441 接收邮件 639
16.2 复杂邮件 641
实例442 发送带附件的邮件 641
实例443 接收带附件的邮件 642
实例444 发送邮件时进行身份验证 644
实例445 接收邮件时进行身份验证 646
实例446 显示未读邮件 647
实例447 显示已读邮件 650
第17章 Java安全 653
17.1 Java对称加密 654
实例448 使用BASE64加密 654
实例449 使用BASE64解密 655
实例450 使用DES加密 656
实例451 使用DES解密 657
实例452 使用PBE加密 658
实例453 使用PBE解密 659
17.2 Java非对称加密 660
实例454 RSA服务端加密 660
实例455 RSA客户端加密 661
实例456 DH服务端加密 662
实例457 DH客户端加密 665
17.3 Java单项加密 668
实例458 使用MD5加密 668
实例459 使用Hmac加密 669
实例460 使用DSA加密 670
第18章 游戏开发 673
18.1 益智小游戏 674
实例461 图片配对游戏 674
实例462 拼图游戏 676
实例463 掷骰子 679
18.2 休闲小游戏 680
实例464 打字母游戏 680
实例465 画梅花 682
实例466 打造自己的开心农场 684
18.3 其他 685
实例467 小猪走迷宫 685
实例468 海滩捉螃蟹 688
实例469 荒山打猎游戏 690
实例470 警察抓小偷 692