词条 | 疯狂Java实战演义 |
释义 | 《 疯狂Java实战演义》以15个生动的Java案例,引领读者体验Java开发的乐趣。书中使用Java的Swing技术开发了若干个游戏,从这些游戏中可以了解到,Java一样可以做出优秀的游戏和应用程序。本书知识点丰富,适合有一定Java基础、有意向做Java桌面应用程序或者想了解Java图形界面编程的读者阅读,也可作为Java开发程序员的案例参考书。 图书信息书名:疯狂Java实战演义作者:杨恩雄 麦凯翔 编 著 李 刚 编著指导 ISBN 978-7-121-10835-8 出版日期:2010年6月 定价:69.00元(含CD光盘1张) 开本:16开 页码:560页 宣传语15个Java项目 6万多行Java代码 开发一个项目,掌握一套知识 疯狂源自梦想 技术成就辉煌 内 容 简 介本书 除了这些游戏案例外,还有若干个读者平时会接触到的软件,例如Windows计算器、MySQL企业管理器、邮件客户端、多线程下载工具等。读者使用到这些软件时,根据本书所描述的案例,可以深入了解这些软件的原理以及开发细节。本书中的所有案例均基于Eclipse IDE开发,源码均附有详细的注释。本书案例由浅入深,带领读者一步步体会Java语言之美。 前 言近年来,随着Java技术的不断发展,Java语言已经成为最主流的开发语言,广泛应用于各个行业:金融、制造、政务、电信等,从大型企业级应用到桌面应用技术,Java无处不在。 除了在大型企业级应用开发中占据了绝大部分的市场份额之外,Java还提供了AWT/Swing、SWT/JFace(著名的Eclipse开发工具就基于此)两套主流的GUI开发库,运用它们可以开发出非常优秀的桌面应用程序。 本书汇集了作者精心编写的15个Java项目、6万多行Java代码,集中介绍了如何通过Java语言开发桌面应用程序。本书想通过这些项目达到两个目的: 让读者体会Java语言的强大魅力,Java语言也可以开发出强大的桌面应用程序; 将读者从SSH开发的大量低层次、重复性的体力劳动中释放出来,多关注Java本身的魅力,如Java的网络通信、多线程等。当读者真正把Java基础打扎实之后,再去看SSH开发,将会看到更高的层次。 本书除了使用Java的桌面应用技术外,还涉及到其他Java技术,例如JDBC、Java反射、dom4j的使用、JUnit的使用、XStream的使用、Socket编程等。JDBC是一种可用于执行SQL语句的Java API,它可以让Java开发人员使用纯Java开发数据库应用。本书第15章详细介绍了如何使用Socket编程去开发一个网络五子棋。本书介绍的项目由浅入深、实用性强,读者可通过项目实战来掌握Java语言在编程中的实际运用。 本书的内容结构 本书以15个Java项目为核心,介绍了Java的Swing、AWT图形界面技术,以及Java网络通信、Java多线程支持、Java反射、设计模式、JDBC等知识点。希望通过这15个项目激发读者的编程激情。 本书前8章主要是一些常见的游戏和工具,包括控制台五子棋、仿Windows计算器、单机俄罗斯方块、单机连连看、简单Java IDE工具等程序,其中,前面7章的项目相对比较简单,主要让读者对Java应用程序开发有一定的了解。 本书第9章和第10章除了使用Java的桌面应用程序外,还详细介绍了如何使用JDBC操作数据库,以及如何使用反射对结果集进行封装等技术。 第11章详细描述了如何使用Java开发一个多线程下载工具,其中包括如何实现断点续传、HTTP下载等功能。 第12章使用JavaMail技术开发了一个类似于Foxmail的邮件客户端,介绍了JavaMail、XStream等技术的使用。 第13章描述的是一个MySQL管理器,在平时的开发过程中,我们会接触到各种各样的MySQL管理器,在该章中,读者可以了解到这些MySQL管理器的实现细节。 Spring是当前流行的Java EE框架,主要分为IoC和AOP技术,其IoC应用最为广泛,第14章编写了一个类似于Spring的IoC容器,通过该项目即可让读者掌握XML、dom4j、Java反射在实际项目中的应用,也能更好地理解IoC容器的实现。 第15章使用Java的Socket通信、多线程等知识,开发了一个仿QQ游戏大厅的框架,在此框架的基础上,可以加入不同的游戏组件,本章主要演示开发了一个网络五子棋与聊天室的组件。 创作本书还有一个目的:为疯狂Java体系的《疯狂Java讲义》课后习题提供一份“非标准”参考答案,虽然软件编程并没有所谓的“标准答案”,但疯狂Java联盟上经常有网友提出:希望看到《疯狂Java讲义》课后习题的参考答案,所以笔者精心编写了这15个项目,希望能给广大读者提供一些参考和借鉴。如果读者在阅读本书过程中遇到不懂的技术问题,可以登录疯狂Java联盟获得帮助。 本书的特点和优势 本书由具有多年开发经验的Java工程师编写,作者在Java领域具有多年的开发研究经验。本书没有详细介绍Java是什么、Java语法知识这些基本理论,本书介绍的是Java能做什么、如何运用Java编写实际项目?本书汇集了作者精心编写的15个Java项目,总共6万多行Java代码,具有很高的学习、参考价值。 本书特点如下: 1.项目全面、贴近实际 本书包括大量的Java项目:仿QQ游戏大厅、单机连连看、MySQL管理器、邮件客户端、多线程断点下载工具......项目由浅入深,这些实用的项目将充分激发读者的学习激情,让读者在疯狂实战中享受Java编程酣畅淋漓的快感。 2.知识覆盖广、学以致用 本书的项目覆盖了大量的Java知识点,包括Swing编程、JDBC、Socket网络通信、多线程、Java反射和JavaMail等。但本书的独到之处在于:并非简单地介绍这些知识,而是以“项目驱动”的方式进行介绍,力求让读者做到“开发一个项目、掌握一套知识点”。 3.讲解详细,启发性强 本书将重点解决大部分Java学习者的学习困扰:语法会了,动手编程却没思路!本书不仅要教读者使用Java语言开发项目,更向读者介绍程序开发的思路,希望启发读者的编程思路,带领读者步入编程的殿堂。 本书读者对象 本书大部分篇幅是介绍如何运行Java语言来开发实际项目,因此对Java语言本身语法细节介绍的比较少,因此需要读者有一定的Java语言基础。如果读者对Java语言本身的基础还不扎实,建议先阅读疯狂Java体系的《疯狂Java讲义》一书。 本书将非常适合以下三类读者,: 1.已经学习过Java语法知识,有一定Java语言基础的读者; 2.掌握了Java编程的语法知识,但实际动手开发却感到困难重重的读者; 3.需要使用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.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获取键盘输入 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 改变挡板的长度(道具的作用) 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 直线工具、矩形工具、椭圆工具和圆角矩形工具 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 加入计时功能与游戏的胜利、失败 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 建立文件、目录和项目添加界面 177 8.4 实现工作空间选择功能 178 8.4.1 实现目录选择功能 178 8.4.2 实现工作空间选择的确定按钮 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 将事务设为“暂时不做”状态 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 获取附件并存放到本地的目录中 367 12.5.9 将Message封装为Mail 368 12.5.10 对邮件进行排序 369 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对象进行发送 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安装目录选择功能 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 确定配置文件内容、编写DTD 452 14.3.1 声明bean 452 14.3.2 声明单态的bean 453 14.3.3 声明延迟加载 453 14.3.4 声明设值注入到bean的属性 453 14.3.5 声明构造注入到bean的属性 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方法 465 14.4.6 实现getAttribute和isSingleton方法 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 使用有参数的构造器创建实例 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添加子类 488 14.7.5 测试IoC容器的创建 490 14.8 IoC与图书进销存系统的整合 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 使用服务器的数据创建游戏大厅 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 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。