疯狂Java实战演义

疯狂Java实战演义
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: ,
2010-06
版次: 1
ISBN: 9787121108358
定价: 69.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 544页
字数: 742千字
正文语种: 简体中文
47人买过
  •   本书以15个生动的Java案例,引领读者体验Java开发的乐趣。书中使用Java的Swing技术开发了若干个游戏,从这些游戏中可以了解到,Java一样可以做出优秀的游戏和应用程序。除了这些游戏案例外,还有若干个读者平时会接触到的软件,例如Windows计算器、MySQL企业管理器、邮件客户端、多线程下载工具等。读者使用到这些软件时,根据本书所描述的案例,可以深入了解这些软件的原理以及开发细节。本书中的所有案例均基于EclipseIDE开发,源码均附有详细的注释。本书案例由浅入深,带领读者一步步体会Java语言之美。
      本书知识点丰富,适合有一定Java基础、有意向做Java桌面应用程序或者想了解Java图形界面编程的读者阅读,也可作为Java开发程序员的案例参考书。 第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.1Chessboard类 5
    1.3.2Chessman类 6
    1.3.3GobangGame类 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.1MyMath工具类 22
    2.3.2CalService类 23
    2.3.3CalFrame类 24
    2.4MyMath工具类实现 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.6BallService类实现 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.2Tool的实现类AbstractTool 109
    6.3.3AbstractTool的子类 110
    6.3.4界面类ImageFrame 110
    6.3.5业务逻辑类ImageService 111
    6.3.6文件选择类
    6.3.6ImageFileChooser 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.6ImageService类的实现 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章简单JavaIDE工具 169
    8.1IDE工具简介 170
    8.2JavaIDE的主要功能 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.3DAO层的基类 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.1JavaMail简介 347
    12.1.2SMTP简介 347
    12.1.3POP3简介 347
    12.1.4XStream简介 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.1MySQL管理器原理 395
    13.2建立界面 395
    13.2.1MySQL安装目录选择界面 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.11SQL文件的导入与导出 447
    13.11.1执行SQL文件 447
    13.11.2导出数据库与表 448
    13.12本章小结 449

    第14章自己开发IoC容器 450
    14.1IoC简介 451
    14.2使用技术简介 451
    14.2.1Java反射简介 451
    14.2.2dom4j 452
    14.2.3JUnit 452
    14.3确定配置文件内容、编写
    14.3DTD 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.8IoC与图书进销存系统的
    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
  • 内容简介:
      本书以15个生动的Java案例,引领读者体验Java开发的乐趣。书中使用Java的Swing技术开发了若干个游戏,从这些游戏中可以了解到,Java一样可以做出优秀的游戏和应用程序。除了这些游戏案例外,还有若干个读者平时会接触到的软件,例如Windows计算器、MySQL企业管理器、邮件客户端、多线程下载工具等。读者使用到这些软件时,根据本书所描述的案例,可以深入了解这些软件的原理以及开发细节。本书中的所有案例均基于EclipseIDE开发,源码均附有详细的注释。本书案例由浅入深,带领读者一步步体会Java语言之美。
      本书知识点丰富,适合有一定Java基础、有意向做Java桌面应用程序或者想了解Java图形界面编程的读者阅读,也可作为Java开发程序员的案例参考书。
  • 目录:
    第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.1Chessboard类 5
    1.3.2Chessman类 6
    1.3.3GobangGame类 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.1MyMath工具类 22
    2.3.2CalService类 23
    2.3.3CalFrame类 24
    2.4MyMath工具类实现 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.6BallService类实现 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.2Tool的实现类AbstractTool 109
    6.3.3AbstractTool的子类 110
    6.3.4界面类ImageFrame 110
    6.3.5业务逻辑类ImageService 111
    6.3.6文件选择类
    6.3.6ImageFileChooser 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.6ImageService类的实现 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章简单JavaIDE工具 169
    8.1IDE工具简介 170
    8.2JavaIDE的主要功能 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.3DAO层的基类 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.1JavaMail简介 347
    12.1.2SMTP简介 347
    12.1.3POP3简介 347
    12.1.4XStream简介 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.1MySQL管理器原理 395
    13.2建立界面 395
    13.2.1MySQL安装目录选择界面 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.11SQL文件的导入与导出 447
    13.11.1执行SQL文件 447
    13.11.2导出数据库与表 448
    13.12本章小结 449

    第14章自己开发IoC容器 450
    14.1IoC简介 451
    14.2使用技术简介 451
    14.2.1Java反射简介 451
    14.2.2dom4j 452
    14.2.3JUnit 452
    14.3确定配置文件内容、编写
    14.3DTD 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.8IoC与图书进销存系统的
    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
查看详情