书籍详情
疯狂Java实战演义
作者:杨恩雄,麦凯翔 编著
出版社:电子工业出版社
出版时间:2010-06-01
ISBN:9787121108358
定价:¥69.00
购买这本书可以去
内容简介
本书以15个生动的Java案例,引领读者体验Java开发的乐趣。书中使用Java的Swing技术开发了若干个游戏,从这些游戏中可以了解到,Java一样可以做出优秀的游戏和应用程序。除了这些游戏案例外,还有若干个读者平时会接触到的软件,例如Windows计算器、MySQL企业管理器、邮件客户端、多线程下载工具等。读者使用到这些软件时,根据本书所描述的案例,可以深入了解这些软件的原理以及开发细节。本书中的所有案例均基于Eclipse IDE开发,源码均附有详细的注释。本书案例由浅入深,带领读者一步步体会Java语言之美。本书知识点丰富,适合有一定Java基础、有意向做Java桌面应用程序或者想了解Java图形界面编程的读者阅读,也可作为Java开发程序员的案例参考书。
作者简介
杨恩雄从事五年多的、Java EE开发,曾任中企开源高级系统设计师,曾主持过多个企业OA,ERP项目的开发,曾参与设计中企开源的SaaS项目,具有丰富的B/S开发经验以及系统架构经验。对基于OSGi、ESB的架构设计有丰富的实践经验和独到的理解。
目录
第1章 控制台五子棋 1
1.1 引言 2
1.1.1 五子棋介绍 2
1.1.2 输入输出约定 2
1.2 游戏流程描述 3
1.2.1 玩家输入坐标 3
1.2.2 “电脑”下棋 4
1.3 创建游戏的各个对象 4
1.3.1 Chessboard类 5
1.3.2 Chessman类 6
1.3.3 GobangGame类 6
1.4 棋盘类实现 7
1.4.1 初始化棋盘 7
1.4.2 输出棋盘 8
1.4.3 获取棋盘 9
1.5 棋子枚举类实现 9
1.6 游戏类实现 11
1.6.1 使用BufferedReader获取键盘
1.6.1 输入 11
1.6.2 验证玩家输入字符串的合法性 12
1.6.3 判断输赢 13
1.6.4 “电脑”随机下棋 15
1.6.5 是否重新游戏 16
1.6.6 游戏过程实现 16
1.7 本章小结 18
第2章 仿Windows计算器 19
2.1 仿Windows计算器概述 20
2.1.1 数学符号与其他符号介绍 20
2.1.2 界面说明 21
2.2 流程描述 21
2.3 建立计算器对象 22
2.3.1 MyMath工具类 22
2.3.2 CalService类 23
2.3.3 CalFrame类 24
2.4 MyMath工具类实现 24
2.5 计算器主界面 25
2.5.1 初始化界面(initialize()方法) 26
2.5.2 创建运算键 28
2.5.3 创建操作按键 29
2.5.4 增加事件监听器 30
2.6 计算业务处理 31
2.6.1 计算四则运算结果 31
2.6.2 存储操作 33
2.6.3 实现开方、求倒数等 34
2.6.4 实现回退操作 35
2.6.5 清除计算结果 35
2.6.6 实现中转方法(callMethod) 35
2.7 本章小结 36
第3章 图片浏览器 37
3.1 图片浏览器概述 38
3.2 创建图片浏览器的相关对象 38
3.2.1 文件过滤器 39
3.2.2 文件对话框 39
3.2.3 主界面类 40
3.2.4 业务处理类 40
3.2.5 操作处理类 40
3.3 创建主界面 41
3.3.1 初始化界面(init()方法) 41
3.3.2 创建菜单栏 41
3.3.3 创建工具栏 43
3.4 实现图片浏览的操作 44
3.4.1 实现工具栏点击 44
3.4.2 实现菜单的单击 47
3.4.3 打开图片 48
3.4.4 放大或者缩小图片 49
3.4.5 浏览“上一张”或“下一张”
1.6.1 图片 49
3.5 文件选择与过滤 50
3.6 本章小结 51
第4章 桌面弹球 52
4.1 桌面弹球概述 53
4.1.1 动画原理 53
4.1.2 小球反弹的方向 53
4.2 流程描述 54
4.3 创建游戏对象 54
4.3.1 基类BallComponent 55
4.3.2 砖块类(Brick) 56
4.3.3 道具类及其子类(Magic) 57
4.3.4 挡板类(Stick) 57
4.3.5 小球类(Ball) 57
4.3.6 业务处理类(BallService) 58
4.3.7 主界面类(BallFrame) 59
4.4 主界面实现 59
4.4.1 初始化界面(initialize()方法) 60
4.4.2 单态模式简介 61
4.4.3 运行效果 61
4.4.4 监听器与Timer 62
4.5 挡板、小球、砖块、道具 63
4.5.1 挡板(Stick类) 63
4.5.2 小球(Ball类) 65
4.5.3 道具(Magic及其子类) 66
4.5.4 砖块(Brick类) 67
4.6 BallService类实现 68
4.6.1 创建与设置砖块 68
4.6.2 设置挡板的位置(移动挡板) 70
4.6.3 小球与砖块碰撞 71
4.6.4 小球、道具与挡板碰撞 73
4.6.5 道具的移动 73
4.6.6 改变挡板的长度(道具的
1.6.1 作用) 74
4.6.7 判断是否已经通关 75
4.7 功能改进设计 76
4.7.1 关卡 77
4.7.2 计分 77
4.7.3 道具 77
4.8 本章小结 78
第5章 单机俄罗斯方块 79
5.1 俄罗斯方块简介 80
5.2 建立界面 80
5.2.1 方块堆砌界面 80
5.2.2 游戏界面 80
5.3 创建游戏对象 82
5.3.1 设计小方块对象 82
5.3.2 设计大方块对象 83
5.4 创建与显示大方块 86
5.4.1 随机读取小方块图片 86
5.4.2 创建大方块对象 87
5.4.3 显示当前方块 89
5.5 处理方块的行为 91
5.5.1 方块变化 91
5.5.2 方块的左移和右移 93
5.5.3 方块下降 94
5.5.4 方块快速下降 95
5.5.5 判断是否停止下降 96
5.5.6 创建界面的二维数组 96
5.5.7 判断是否遇到障碍 98
5.5.8 方块结束下降 100
5.6 消除行、计分与级别的提升 100
5.6.1 消除行 100
5.6.2 加入分数计算与级别提升 102
5.7 游戏操作 103
5.7.1 游戏的暂停 103
5.7.2 游戏的继续 104
5.7.3 判断游戏失败 104
5.8 本章小结 104
第6章 仿Windows画图 105
6.1 画图软件概述 106
6.2 画图工具原理 106
6.2.1 画线 106
6.2.2 其他画图功能 107
6.2.3 保存图片功能 107
6.3 创建画图工具的各个对象 107
6.3.1 工具接口Tool 108
6.3.2 Tool的实现类AbstractTool 109
6.3.3 AbstractTool的子类 110
6.3.4 界面类ImageFrame 110
6.3.5 业务逻辑类ImageService 111
6.3.6 文件选择类
6.3.6 ImageFileChooser 111
6.4 主界面实现 112
6.4.1 初始化界面(init()方法) 112
6.4.2 获取画板 114
6.4.3 创建菜单 114
6.4.4 创建画图工具栏 116
6.4.5 创建颜色选择面板 118
6.5 工具实现 119
6.5.1 实现拖动边框改变画布大小 120
6.5.2 实现父类的画图方法 121
6.5.3 鼠标移动时改变指针 122
6.5.4 记录鼠标按下的位置 123
6.5.5 重绘图片 123
6.5.6 铅笔工具 124
6.5.7 直线工具、矩形工具、椭圆
1.6.1 工具和圆角矩形工具 124
6.5.8 多边形工具 126
6.5.9 刷子与橡皮擦 128
6.5.10 喷枪工具 129
6.6 ImageService类的实现 130
6.6.1 打开图片文件 130
6.6.2 保存图片 131
6.6.3 新建图片 132
6.6.4 颜色剪辑器 133
6.6.5 文件过滤 133
6.6.6 根据对菜单的单击调用相应
1.6.1 的方法 134
6.6.7 判断图片是否已经保存 135
6.7 本章小结 135
第7章 单机连连看 136
7.1 连连看游戏简介 137
7.2 连连看游戏原理 137
7.3 创建游戏界面与游戏区域 137
7.3.1 创建游戏界面 137
7.3.2 游戏区域实现原理 138
7.3.3 创建图片方块对象 138
7.3.4 创建游戏处理类 140
7.3.5 图片的读取 140
7.3.6 创建游戏区域图片数组 143
7.3.7 根据数组画游戏区域 144
7.3.8 随机初始化游戏 145
7.4 实现连接程序 147
7.4.1 图片选择 147
7.4.2 创建连接的相关对象 149
7.4.3 准备获取通道的工具方法 151
7.4.4 没有转折点的横向连接 152
7.4.5 没有转折点的纵向连接 154
7.4.6 一个转折点的连接 155
7.4.7 两个转折点的连接 157
7.4.8 找出最短距离 162
7.4.9 画上连接线 164
7.5 加入计分与计时功能 165
7.5.1 加入计分功能 165
7.5.2 加入计时功能与游戏的胜利、
1.6.1 失败 166
7.6 本章小结 168
第8章 简单Java IDE工具 169
8.1 IDE工具简介 170
8.2 Java IDE的主要功能 170
8.3 建立界面 170
8.3.1 建立主编辑区和信息显示区 171
8.3.2 建立项目显示区 172
8.3.3 添加菜单和工具栏 173
8.3.4 建立工作空间选择界面 176
8.3.5 建立文件、目录和项目添加
1.6.1 界面 177
8.4 实现工作空间选择功能 178
8.4.1 实现目录选择功能 178
8.4.2 实现工作空间选择的确定
1.6.1 按钮 181
8.5 创建项目树 182
8.5.1 创建树的各个对象 182
8.5.2 实现创建项目树的功能 184
8.5.3 设置树的外观 188
8.5.4 实现树节点的选择事件 190
8.6 实现文件操作功能 192
8.6.1 新建文件 192
8.6.2 新建目录 197
8.6.3 新建项目 198
8.6.4 策略模式 201
8.6.5 文件打开 201
8.6.6 显示行数与高亮 211
8.6.7 文件的保存功能 216
8.6.8 运行Java文件 221
8.7 实现文本操作 223
8.8 本章小结 223
第9章 图书进销存系统 224
9.1 项目简介 225
9.2 建立界面 225
9.2.1 登录界面 225
9.2.2 销售管理界面 225
9.2.3 入库管理界面 227
9.2.4 书本管理界面 227
9.2.5 种类管理界面 228
9.2.6 出版社管理界面 229
9.2.7 修改界面代码 230
9.3 设计系统数据库 233
9.3.1 设计出版社表 233
9.3.2 设计种类表 234
9.3.3 设计书表 234
9.3.4 设计入库记录表 235
9.3.5 设计销售记录表 236
9.4 开发前的准备工作 237
9.4.1 设计表的对应类 237
9.4.2 编写配置读取类 239
9.4.3 编写JDBC操作类 240
9.4.4 创建数据转换工具类 243
9.5 出版社管理功能 244
9.5.1 分层结构 244
9.5.2 获取全部出版社 245
9.5.3 模糊查询 248
9.5.4 查看出版社 250
9.5.5 新增出版社 252
9.5.6 修改出版社 255
9.6 书本管理功能 256
9.6.1 获取全部书 256
9.6.2 查看书本 258
9.6.3 新增书本 260
9.6.4 图片上传功能 261
9.7 销售管理功能 264
9.7.1 销售记录列表 264
9.7.2 查看交易记录 267
9.7.3 实现新增交易记录功能 270
9.8 本章小结 273
第10章 事务跟踪系统 274
10.1 确定系统需求 275
10.2 建立界面 275
10.2.1 登录界面 275
10.2.2 我的事务界面 276
10.2.3 事务的完成、暂时不做、不做
10.2.3 的处理界面 277
10.2.4 事务转发界面 278
10.2.5 事务管理界面 278
10.2.6 新建事务界面 279
10.2.7 用户选择界面 280
10.2.8 用户管理界面 281
10.2.9 新建用户界面 282
10.3 开发准备 282
10.3.1 数据转换工具类 282
10.3.2 数据库执行类 284
10.3.3 DAO层的基类 285
10.3.4 值对象基类 285
10.4 用户管理 286
10.4.1 设计用户管理的相关对象 286
10.4.2 用户登录 287
10.4.3 查找全部用户 290
10.4.4 新增用户功能 292
10.4.5 删除用户 293
10.4.6 查询用户 293
10.5 事务管理 294
10.5.1 设计事务对象 294
10.5.2 根据发起人查找事务 295
10.5.3 新建事务 297
10.5.4 催办事务 298
10.5.5 将事务置为无效 300
10.6 我的事务 301
10.6.1 设计其他对象 301
10.6.2 将事务设为“暂时不做”
10.2.3 状态 302
10.6.3 将事务置为“不做”状态 305
10.6.4 完成事务 306
10.6.5 转发事务 307
10.6.6 查看事务 308
10.6.7 查询事务 310
10.7 本章小结 311
第11章 多线程下载工具 312
11.1 多线程下载工具简介 313
11.2 建立下载工具的界面 313
11.2.1 主界面 313
11.2.2 导航树 314
11.2.3 资源列表 316
11.2.4 资源信息显示 318
11.2.5 新建下载任务界面 319
11.2.6 悬浮窗口 319
11.2.7 任务栏图标 322
11.3 设计下载的相关对象 322
11.3.1 资源状态对象 322
11.3.2 块对象 323
11.3.3 资源对象 324
11.3.4 上下文对象 327
11.4 下载资源 329
11.4.1 界面新增下载资源 329
11.4.2 建立下载线程 331
11.4.3 进行文件分割 333
11.4.4 文件合并 336
11.4.5 暂停下载 337
11.4.6 继续下载 337
11.5 保存下载信息 339
11.5.1 进行序列化保存对象 339
11.5.2 反序列化 340
11.6 其他操作 341
11.6.1 查看任务 341
11.6.2 删除任务 342
11.6.3 删除已经完成的任务 343
11.6.4 开始全部任务 343
11.6.5 暂停全部任务 344
11.6.6 节点的单击 344
11.6.7 打开/关闭主窗口 345
11.7 本章小结 345
第12章 邮件客户端 346
12.1 本章涉及的技术 347
12.1.1 JavaMail简介 347
12.1.2 SMTP简介 347
12.1.3 POP3简介 347
12.1.4 XStream简介 347
12.2 建立界面 348
12.2.1 登录界面 348
12.2.2 客户端主界面 348
12.2.3 配置界面 352
12.2.4 邮件编写界面 353
12.3 创建客户端的基础对象 354
12.3.1 创建邮箱上下文对象 355
12.3.2 创建邮件对象 356
12.4 用户登录与用户配置 358
12.4.1 实现用户登录 358
12.4.2 实现用户信息配置 360
12.5 接收邮件 362
12.5.1 接收邮件 362
12.5.2 获取邮件正文 364
12.5.3 获取邮件收件人 365
12.5.4 获取邮件的发件人 365
12.5.5 获取邮件的发送日期 366
12.5.6 获取邮件的大小 366
12.5.7 获取邮件的抄送地址 366
12.5.8 获取附件并存放到本地的
10.2.3 目录中 367
12.5.9 将Message封装为Mail 368
12.5.10 对邮件进行排序 369
12.5.11 删除邮件服务器上面的
12.5.11 邮件 370
12.5.12 将Mail对象转换成XML
12.5.11 文件并保存到本地目录中 371
12.5.13 在界面中显示邮件 372
12.5.14 编写任务调度器接收邮件 375
12.6 初始化界面数据 376
12.6.1 转换XML文件为Mail对象 376
12.6.2 在各个Box间切换 378
12.7 操作邮件 380
12.7.1 查看邮件 380
12.7.2 查看附件 382
12.7.3 删除邮件 385
12.7.4 彻底删除邮件 385
12.7.5 还原邮件 386
12.8 发送邮件 387
12.8.1 实现发送邮件的功能 388
12.8.2 界面封装Mail对象进行
10.2.3 发送 390
12.8.3 处理邮件附件 391
12.8.4 测试发送邮件功能 392
12.8.5 处理邮件的其他功能 393
12.9 本章小结 393
第13章 MySQL管理器 394
13.1 MySQL管理器原理 395
13.2 建立界面 395
13.2.1 MySQL安装目录选择界面 396
13.2.2 主界面 396
13.2.3 数据显示界面 401
13.2.4 创建连接界面 403
13.2.5 创建表界面 404
13.2.6 视图界面 407
13.2.7 存储过程界面 407
13.2.8 查询界面 408
13.2.9 树节点右键菜单 408
13.2.10 数据列表右键菜单 408
13.3 实现MySQL安装目录选择
13.3 功能 410
13.3.1 实现目录选择 410
13.3.2 读取和保存安装目录路径 411
13.3.3 读取连接信息 411
13.4 连接管理 413
13.4.1 创建连接节点 413
13.4.2 打开连接 414
13.4.3 新建连接 417
13.4.4 删除连接 419
13.4.5 关闭连接 420
13.5 数据库管理 420
13.5.1 打开数据库 421
13.5.2 新建数据库 422
13.5.3 删除数据库 423
13.5.4 关闭数据库 423
13.6 视图管理 424
13.6.1 读取视图列表 424
13.6.2 新建视图 426
13.6.3 修改视图与删除视图 427
13.7 存储过程与函数管理 427
13.7.1 新增存储过程和函数 427
13.7.2 修改存储过程与函数 428
13.8 表管理 429
13.8.1 新字段 430
13.8.2 插入字段与删除字段 431
13.8.3 编辑字段 432
13.8.4 设置默认值与自动增长 434
13.8.5 新外键 435
13.8.6 删除一个外键 436
13.8.7 查询字段信息 436
13.8.8 查询外键信息 437
13.8.9 新建表 439
13.8.10 修改表 440
13.8.11 删除表 442
13.9 数据浏览 442
13.9.1 浏览数据 443
13.9.2 刷新数据 445
13.9.3 数据排序 445
13.10 执行SQL语句 446
13.10.1 运行SQL语句 446
13.10.2 保存SQL语句 447
13.11 SQL文件的导入与导出 447
13.11.1 执行SQL文件 447
13.11.2 导出数据库与表 448
13.12 本章小结 449
第14章 自己开发IoC容器 450
14.1 IoC简介 451
14.2 使用技术简介 451
14.2.1 Java反射简介 451
14.2.2 dom4j 452
14.2.3 JUnit 452
14.3 确定配置文件内容、编写
14.3 DTD 452
14.3.1 声明bean 452
14.3.2 声明单态的bean 453
14.3.3 声明延迟加载 453
14.3.4 声明设值注入到bean的
10.2.3 属性 453
14.3.5 声明构造注入到bean的
10.2.3 属性 454
14.3.6 自动装配 455
14.3.7 准备DTD文件 455
14.4 读取XML文件 457
14.4.1 加载XML文件 457
14.4.2 读取Element 460
14.4.3 解析Element 462
14.4.4 实现isLazy方法 464
14.4.5 实现getConstructorElements
10.2.3 方法 465
14.4.6 实现getAttribute和isSingleton
10.2.3 方法 465
14.4.7 实现getAutowire方法 466
14.4.8 实现getConstructorValue和getPropertyValue方法 466
14.5 使用构造注入创建实例 468
14.5.1 构造注入简介 468
14.5.2 使用无参数构造器创建实例 468
14.5.3 使用有参数的构造器创建
10.2.3 实例 469
14.6 实现设值注入 473
14.6.1 实现非自动装配的设值注入 473
14.6.2 实现根据名字自动装配 478
14.7 实现IoC容器 480
14.7.1 定义接口方法 481
14.7.2 实现containsBean方法和isSingleton方法 482
14.7.3 实现getBean方法 483
14.7.4 为AbstractApplicationContext
14.7.4 添加子类 488
14.7.5 测试IoC容器的创建 490
14.8 IoC与图书进销存系统的
14.8 整合 495
14.8.1 需要管理的对象 495
14.8.2 创建数据访问层的bean 496
14.8.3 创建业务层的bean 497
14.8.4 创建视图层的bean 499
14.9 本章小结 502
第15章 仿QQ游戏大厅 503
15.1 游戏大厅简介 504
15.2 编写游戏大厅框架 504
15.2.1 确定传输格式 504
15.2.2 建立处理类接口 506
15.2.3 建立玩家类与游戏接口 506
15.2.4 编写框架服务器 507
15.2.5 编写框架客户端 509
15.2.6 建立登录界面 509
15.2.7 实现登录功能 511
15.3 建立五子棋游戏大厅 512
15.3.1 编写游戏大厅的对象 512
15.3.2 服务器创建游戏大厅数组 514
15.3.3 玩家进入游戏大厅 515
15.3.4 创建游戏大厅界面 516
15.3.5 创建玩家列表与聊天界面 519
15.3.6 使用服务器的数据创建游戏
10.2.3 大厅 520
15.4 实现聊天功能 522
15.4.1 发送聊天信息 522
15.4.2 接收聊天信息 524
15.5 启动游戏 524
15.5.1 建立游戏界面 525
15.5.2 玩家坐下 526
15.5.3 实现游戏聊天 531
15.6 开始游戏 532
15.6.1 游戏准备 532
15.6.2 玩家下棋 536
15.6.3 逃跑与认输 539
15.6.4 请求和棋 540
15.7 五子棋游戏大厅总结 541
15.8 编写一个测试聊天室 542
15.8.1 建立聊天室界面 542
15.8.2 实现聊天室 543
15.8.3 将聊天室放置到框架中测试 543
15.9 本章小结 544
1.1 引言 2
1.1.1 五子棋介绍 2
1.1.2 输入输出约定 2
1.2 游戏流程描述 3
1.2.1 玩家输入坐标 3
1.2.2 “电脑”下棋 4
1.3 创建游戏的各个对象 4
1.3.1 Chessboard类 5
1.3.2 Chessman类 6
1.3.3 GobangGame类 6
1.4 棋盘类实现 7
1.4.1 初始化棋盘 7
1.4.2 输出棋盘 8
1.4.3 获取棋盘 9
1.5 棋子枚举类实现 9
1.6 游戏类实现 11
1.6.1 使用BufferedReader获取键盘
1.6.1 输入 11
1.6.2 验证玩家输入字符串的合法性 12
1.6.3 判断输赢 13
1.6.4 “电脑”随机下棋 15
1.6.5 是否重新游戏 16
1.6.6 游戏过程实现 16
1.7 本章小结 18
第2章 仿Windows计算器 19
2.1 仿Windows计算器概述 20
2.1.1 数学符号与其他符号介绍 20
2.1.2 界面说明 21
2.2 流程描述 21
2.3 建立计算器对象 22
2.3.1 MyMath工具类 22
2.3.2 CalService类 23
2.3.3 CalFrame类 24
2.4 MyMath工具类实现 24
2.5 计算器主界面 25
2.5.1 初始化界面(initialize()方法) 26
2.5.2 创建运算键 28
2.5.3 创建操作按键 29
2.5.4 增加事件监听器 30
2.6 计算业务处理 31
2.6.1 计算四则运算结果 31
2.6.2 存储操作 33
2.6.3 实现开方、求倒数等 34
2.6.4 实现回退操作 35
2.6.5 清除计算结果 35
2.6.6 实现中转方法(callMethod) 35
2.7 本章小结 36
第3章 图片浏览器 37
3.1 图片浏览器概述 38
3.2 创建图片浏览器的相关对象 38
3.2.1 文件过滤器 39
3.2.2 文件对话框 39
3.2.3 主界面类 40
3.2.4 业务处理类 40
3.2.5 操作处理类 40
3.3 创建主界面 41
3.3.1 初始化界面(init()方法) 41
3.3.2 创建菜单栏 41
3.3.3 创建工具栏 43
3.4 实现图片浏览的操作 44
3.4.1 实现工具栏点击 44
3.4.2 实现菜单的单击 47
3.4.3 打开图片 48
3.4.4 放大或者缩小图片 49
3.4.5 浏览“上一张”或“下一张”
1.6.1 图片 49
3.5 文件选择与过滤 50
3.6 本章小结 51
第4章 桌面弹球 52
4.1 桌面弹球概述 53
4.1.1 动画原理 53
4.1.2 小球反弹的方向 53
4.2 流程描述 54
4.3 创建游戏对象 54
4.3.1 基类BallComponent 55
4.3.2 砖块类(Brick) 56
4.3.3 道具类及其子类(Magic) 57
4.3.4 挡板类(Stick) 57
4.3.5 小球类(Ball) 57
4.3.6 业务处理类(BallService) 58
4.3.7 主界面类(BallFrame) 59
4.4 主界面实现 59
4.4.1 初始化界面(initialize()方法) 60
4.4.2 单态模式简介 61
4.4.3 运行效果 61
4.4.4 监听器与Timer 62
4.5 挡板、小球、砖块、道具 63
4.5.1 挡板(Stick类) 63
4.5.2 小球(Ball类) 65
4.5.3 道具(Magic及其子类) 66
4.5.4 砖块(Brick类) 67
4.6 BallService类实现 68
4.6.1 创建与设置砖块 68
4.6.2 设置挡板的位置(移动挡板) 70
4.6.3 小球与砖块碰撞 71
4.6.4 小球、道具与挡板碰撞 73
4.6.5 道具的移动 73
4.6.6 改变挡板的长度(道具的
1.6.1 作用) 74
4.6.7 判断是否已经通关 75
4.7 功能改进设计 76
4.7.1 关卡 77
4.7.2 计分 77
4.7.3 道具 77
4.8 本章小结 78
第5章 单机俄罗斯方块 79
5.1 俄罗斯方块简介 80
5.2 建立界面 80
5.2.1 方块堆砌界面 80
5.2.2 游戏界面 80
5.3 创建游戏对象 82
5.3.1 设计小方块对象 82
5.3.2 设计大方块对象 83
5.4 创建与显示大方块 86
5.4.1 随机读取小方块图片 86
5.4.2 创建大方块对象 87
5.4.3 显示当前方块 89
5.5 处理方块的行为 91
5.5.1 方块变化 91
5.5.2 方块的左移和右移 93
5.5.3 方块下降 94
5.5.4 方块快速下降 95
5.5.5 判断是否停止下降 96
5.5.6 创建界面的二维数组 96
5.5.7 判断是否遇到障碍 98
5.5.8 方块结束下降 100
5.6 消除行、计分与级别的提升 100
5.6.1 消除行 100
5.6.2 加入分数计算与级别提升 102
5.7 游戏操作 103
5.7.1 游戏的暂停 103
5.7.2 游戏的继续 104
5.7.3 判断游戏失败 104
5.8 本章小结 104
第6章 仿Windows画图 105
6.1 画图软件概述 106
6.2 画图工具原理 106
6.2.1 画线 106
6.2.2 其他画图功能 107
6.2.3 保存图片功能 107
6.3 创建画图工具的各个对象 107
6.3.1 工具接口Tool 108
6.3.2 Tool的实现类AbstractTool 109
6.3.3 AbstractTool的子类 110
6.3.4 界面类ImageFrame 110
6.3.5 业务逻辑类ImageService 111
6.3.6 文件选择类
6.3.6 ImageFileChooser 111
6.4 主界面实现 112
6.4.1 初始化界面(init()方法) 112
6.4.2 获取画板 114
6.4.3 创建菜单 114
6.4.4 创建画图工具栏 116
6.4.5 创建颜色选择面板 118
6.5 工具实现 119
6.5.1 实现拖动边框改变画布大小 120
6.5.2 实现父类的画图方法 121
6.5.3 鼠标移动时改变指针 122
6.5.4 记录鼠标按下的位置 123
6.5.5 重绘图片 123
6.5.6 铅笔工具 124
6.5.7 直线工具、矩形工具、椭圆
1.6.1 工具和圆角矩形工具 124
6.5.8 多边形工具 126
6.5.9 刷子与橡皮擦 128
6.5.10 喷枪工具 129
6.6 ImageService类的实现 130
6.6.1 打开图片文件 130
6.6.2 保存图片 131
6.6.3 新建图片 132
6.6.4 颜色剪辑器 133
6.6.5 文件过滤 133
6.6.6 根据对菜单的单击调用相应
1.6.1 的方法 134
6.6.7 判断图片是否已经保存 135
6.7 本章小结 135
第7章 单机连连看 136
7.1 连连看游戏简介 137
7.2 连连看游戏原理 137
7.3 创建游戏界面与游戏区域 137
7.3.1 创建游戏界面 137
7.3.2 游戏区域实现原理 138
7.3.3 创建图片方块对象 138
7.3.4 创建游戏处理类 140
7.3.5 图片的读取 140
7.3.6 创建游戏区域图片数组 143
7.3.7 根据数组画游戏区域 144
7.3.8 随机初始化游戏 145
7.4 实现连接程序 147
7.4.1 图片选择 147
7.4.2 创建连接的相关对象 149
7.4.3 准备获取通道的工具方法 151
7.4.4 没有转折点的横向连接 152
7.4.5 没有转折点的纵向连接 154
7.4.6 一个转折点的连接 155
7.4.7 两个转折点的连接 157
7.4.8 找出最短距离 162
7.4.9 画上连接线 164
7.5 加入计分与计时功能 165
7.5.1 加入计分功能 165
7.5.2 加入计时功能与游戏的胜利、
1.6.1 失败 166
7.6 本章小结 168
第8章 简单Java IDE工具 169
8.1 IDE工具简介 170
8.2 Java IDE的主要功能 170
8.3 建立界面 170
8.3.1 建立主编辑区和信息显示区 171
8.3.2 建立项目显示区 172
8.3.3 添加菜单和工具栏 173
8.3.4 建立工作空间选择界面 176
8.3.5 建立文件、目录和项目添加
1.6.1 界面 177
8.4 实现工作空间选择功能 178
8.4.1 实现目录选择功能 178
8.4.2 实现工作空间选择的确定
1.6.1 按钮 181
8.5 创建项目树 182
8.5.1 创建树的各个对象 182
8.5.2 实现创建项目树的功能 184
8.5.3 设置树的外观 188
8.5.4 实现树节点的选择事件 190
8.6 实现文件操作功能 192
8.6.1 新建文件 192
8.6.2 新建目录 197
8.6.3 新建项目 198
8.6.4 策略模式 201
8.6.5 文件打开 201
8.6.6 显示行数与高亮 211
8.6.7 文件的保存功能 216
8.6.8 运行Java文件 221
8.7 实现文本操作 223
8.8 本章小结 223
第9章 图书进销存系统 224
9.1 项目简介 225
9.2 建立界面 225
9.2.1 登录界面 225
9.2.2 销售管理界面 225
9.2.3 入库管理界面 227
9.2.4 书本管理界面 227
9.2.5 种类管理界面 228
9.2.6 出版社管理界面 229
9.2.7 修改界面代码 230
9.3 设计系统数据库 233
9.3.1 设计出版社表 233
9.3.2 设计种类表 234
9.3.3 设计书表 234
9.3.4 设计入库记录表 235
9.3.5 设计销售记录表 236
9.4 开发前的准备工作 237
9.4.1 设计表的对应类 237
9.4.2 编写配置读取类 239
9.4.3 编写JDBC操作类 240
9.4.4 创建数据转换工具类 243
9.5 出版社管理功能 244
9.5.1 分层结构 244
9.5.2 获取全部出版社 245
9.5.3 模糊查询 248
9.5.4 查看出版社 250
9.5.5 新增出版社 252
9.5.6 修改出版社 255
9.6 书本管理功能 256
9.6.1 获取全部书 256
9.6.2 查看书本 258
9.6.3 新增书本 260
9.6.4 图片上传功能 261
9.7 销售管理功能 264
9.7.1 销售记录列表 264
9.7.2 查看交易记录 267
9.7.3 实现新增交易记录功能 270
9.8 本章小结 273
第10章 事务跟踪系统 274
10.1 确定系统需求 275
10.2 建立界面 275
10.2.1 登录界面 275
10.2.2 我的事务界面 276
10.2.3 事务的完成、暂时不做、不做
10.2.3 的处理界面 277
10.2.4 事务转发界面 278
10.2.5 事务管理界面 278
10.2.6 新建事务界面 279
10.2.7 用户选择界面 280
10.2.8 用户管理界面 281
10.2.9 新建用户界面 282
10.3 开发准备 282
10.3.1 数据转换工具类 282
10.3.2 数据库执行类 284
10.3.3 DAO层的基类 285
10.3.4 值对象基类 285
10.4 用户管理 286
10.4.1 设计用户管理的相关对象 286
10.4.2 用户登录 287
10.4.3 查找全部用户 290
10.4.4 新增用户功能 292
10.4.5 删除用户 293
10.4.6 查询用户 293
10.5 事务管理 294
10.5.1 设计事务对象 294
10.5.2 根据发起人查找事务 295
10.5.3 新建事务 297
10.5.4 催办事务 298
10.5.5 将事务置为无效 300
10.6 我的事务 301
10.6.1 设计其他对象 301
10.6.2 将事务设为“暂时不做”
10.2.3 状态 302
10.6.3 将事务置为“不做”状态 305
10.6.4 完成事务 306
10.6.5 转发事务 307
10.6.6 查看事务 308
10.6.7 查询事务 310
10.7 本章小结 311
第11章 多线程下载工具 312
11.1 多线程下载工具简介 313
11.2 建立下载工具的界面 313
11.2.1 主界面 313
11.2.2 导航树 314
11.2.3 资源列表 316
11.2.4 资源信息显示 318
11.2.5 新建下载任务界面 319
11.2.6 悬浮窗口 319
11.2.7 任务栏图标 322
11.3 设计下载的相关对象 322
11.3.1 资源状态对象 322
11.3.2 块对象 323
11.3.3 资源对象 324
11.3.4 上下文对象 327
11.4 下载资源 329
11.4.1 界面新增下载资源 329
11.4.2 建立下载线程 331
11.4.3 进行文件分割 333
11.4.4 文件合并 336
11.4.5 暂停下载 337
11.4.6 继续下载 337
11.5 保存下载信息 339
11.5.1 进行序列化保存对象 339
11.5.2 反序列化 340
11.6 其他操作 341
11.6.1 查看任务 341
11.6.2 删除任务 342
11.6.3 删除已经完成的任务 343
11.6.4 开始全部任务 343
11.6.5 暂停全部任务 344
11.6.6 节点的单击 344
11.6.7 打开/关闭主窗口 345
11.7 本章小结 345
第12章 邮件客户端 346
12.1 本章涉及的技术 347
12.1.1 JavaMail简介 347
12.1.2 SMTP简介 347
12.1.3 POP3简介 347
12.1.4 XStream简介 347
12.2 建立界面 348
12.2.1 登录界面 348
12.2.2 客户端主界面 348
12.2.3 配置界面 352
12.2.4 邮件编写界面 353
12.3 创建客户端的基础对象 354
12.3.1 创建邮箱上下文对象 355
12.3.2 创建邮件对象 356
12.4 用户登录与用户配置 358
12.4.1 实现用户登录 358
12.4.2 实现用户信息配置 360
12.5 接收邮件 362
12.5.1 接收邮件 362
12.5.2 获取邮件正文 364
12.5.3 获取邮件收件人 365
12.5.4 获取邮件的发件人 365
12.5.5 获取邮件的发送日期 366
12.5.6 获取邮件的大小 366
12.5.7 获取邮件的抄送地址 366
12.5.8 获取附件并存放到本地的
10.2.3 目录中 367
12.5.9 将Message封装为Mail 368
12.5.10 对邮件进行排序 369
12.5.11 删除邮件服务器上面的
12.5.11 邮件 370
12.5.12 将Mail对象转换成XML
12.5.11 文件并保存到本地目录中 371
12.5.13 在界面中显示邮件 372
12.5.14 编写任务调度器接收邮件 375
12.6 初始化界面数据 376
12.6.1 转换XML文件为Mail对象 376
12.6.2 在各个Box间切换 378
12.7 操作邮件 380
12.7.1 查看邮件 380
12.7.2 查看附件 382
12.7.3 删除邮件 385
12.7.4 彻底删除邮件 385
12.7.5 还原邮件 386
12.8 发送邮件 387
12.8.1 实现发送邮件的功能 388
12.8.2 界面封装Mail对象进行
10.2.3 发送 390
12.8.3 处理邮件附件 391
12.8.4 测试发送邮件功能 392
12.8.5 处理邮件的其他功能 393
12.9 本章小结 393
第13章 MySQL管理器 394
13.1 MySQL管理器原理 395
13.2 建立界面 395
13.2.1 MySQL安装目录选择界面 396
13.2.2 主界面 396
13.2.3 数据显示界面 401
13.2.4 创建连接界面 403
13.2.5 创建表界面 404
13.2.6 视图界面 407
13.2.7 存储过程界面 407
13.2.8 查询界面 408
13.2.9 树节点右键菜单 408
13.2.10 数据列表右键菜单 408
13.3 实现MySQL安装目录选择
13.3 功能 410
13.3.1 实现目录选择 410
13.3.2 读取和保存安装目录路径 411
13.3.3 读取连接信息 411
13.4 连接管理 413
13.4.1 创建连接节点 413
13.4.2 打开连接 414
13.4.3 新建连接 417
13.4.4 删除连接 419
13.4.5 关闭连接 420
13.5 数据库管理 420
13.5.1 打开数据库 421
13.5.2 新建数据库 422
13.5.3 删除数据库 423
13.5.4 关闭数据库 423
13.6 视图管理 424
13.6.1 读取视图列表 424
13.6.2 新建视图 426
13.6.3 修改视图与删除视图 427
13.7 存储过程与函数管理 427
13.7.1 新增存储过程和函数 427
13.7.2 修改存储过程与函数 428
13.8 表管理 429
13.8.1 新字段 430
13.8.2 插入字段与删除字段 431
13.8.3 编辑字段 432
13.8.4 设置默认值与自动增长 434
13.8.5 新外键 435
13.8.6 删除一个外键 436
13.8.7 查询字段信息 436
13.8.8 查询外键信息 437
13.8.9 新建表 439
13.8.10 修改表 440
13.8.11 删除表 442
13.9 数据浏览 442
13.9.1 浏览数据 443
13.9.2 刷新数据 445
13.9.3 数据排序 445
13.10 执行SQL语句 446
13.10.1 运行SQL语句 446
13.10.2 保存SQL语句 447
13.11 SQL文件的导入与导出 447
13.11.1 执行SQL文件 447
13.11.2 导出数据库与表 448
13.12 本章小结 449
第14章 自己开发IoC容器 450
14.1 IoC简介 451
14.2 使用技术简介 451
14.2.1 Java反射简介 451
14.2.2 dom4j 452
14.2.3 JUnit 452
14.3 确定配置文件内容、编写
14.3 DTD 452
14.3.1 声明bean 452
14.3.2 声明单态的bean 453
14.3.3 声明延迟加载 453
14.3.4 声明设值注入到bean的
10.2.3 属性 453
14.3.5 声明构造注入到bean的
10.2.3 属性 454
14.3.6 自动装配 455
14.3.7 准备DTD文件 455
14.4 读取XML文件 457
14.4.1 加载XML文件 457
14.4.2 读取Element 460
14.4.3 解析Element 462
14.4.4 实现isLazy方法 464
14.4.5 实现getConstructorElements
10.2.3 方法 465
14.4.6 实现getAttribute和isSingleton
10.2.3 方法 465
14.4.7 实现getAutowire方法 466
14.4.8 实现getConstructorValue和getPropertyValue方法 466
14.5 使用构造注入创建实例 468
14.5.1 构造注入简介 468
14.5.2 使用无参数构造器创建实例 468
14.5.3 使用有参数的构造器创建
10.2.3 实例 469
14.6 实现设值注入 473
14.6.1 实现非自动装配的设值注入 473
14.6.2 实现根据名字自动装配 478
14.7 实现IoC容器 480
14.7.1 定义接口方法 481
14.7.2 实现containsBean方法和isSingleton方法 482
14.7.3 实现getBean方法 483
14.7.4 为AbstractApplicationContext
14.7.4 添加子类 488
14.7.5 测试IoC容器的创建 490
14.8 IoC与图书进销存系统的
14.8 整合 495
14.8.1 需要管理的对象 495
14.8.2 创建数据访问层的bean 496
14.8.3 创建业务层的bean 497
14.8.4 创建视图层的bean 499
14.9 本章小结 502
第15章 仿QQ游戏大厅 503
15.1 游戏大厅简介 504
15.2 编写游戏大厅框架 504
15.2.1 确定传输格式 504
15.2.2 建立处理类接口 506
15.2.3 建立玩家类与游戏接口 506
15.2.4 编写框架服务器 507
15.2.5 编写框架客户端 509
15.2.6 建立登录界面 509
15.2.7 实现登录功能 511
15.3 建立五子棋游戏大厅 512
15.3.1 编写游戏大厅的对象 512
15.3.2 服务器创建游戏大厅数组 514
15.3.3 玩家进入游戏大厅 515
15.3.4 创建游戏大厅界面 516
15.3.5 创建玩家列表与聊天界面 519
15.3.6 使用服务器的数据创建游戏
10.2.3 大厅 520
15.4 实现聊天功能 522
15.4.1 发送聊天信息 522
15.4.2 接收聊天信息 524
15.5 启动游戏 524
15.5.1 建立游戏界面 525
15.5.2 玩家坐下 526
15.5.3 实现游戏聊天 531
15.6 开始游戏 532
15.6.1 游戏准备 532
15.6.2 玩家下棋 536
15.6.3 逃跑与认输 539
15.6.4 请求和棋 540
15.7 五子棋游戏大厅总结 541
15.8 编写一个测试聊天室 542
15.8.1 建立聊天室界面 542
15.8.2 实现聊天室 543
15.8.3 将聊天室放置到框架中测试 543
15.9 本章小结 544
猜您喜欢