返回列表 发帖

[疯狂Java实战] 《疯狂Java实战演义》已经上市

    作者:杨恩雄, 麦凯翔
    本书汇集了作者精心编写的15Java项目、6万多行Java代码,集中介绍了如何通过Java语言开发桌面应用程序。本书想通过这些项目达到两个目的:
    1.让读者体会Java语言的强大魅力,Java语言也可以开发出强大的桌面应用程序;
    2.将读者从SSH开发的大量低层次、重复性的体力劳动中释放出来,多关注Java本身的魅力,如Java的网络通信、多线程等。当读者真正把Java基础打扎实之后,再去看SSH开发,将会看到更高的层次。
    本书以15Java项目为核心,介绍了JavaSwingAWT图形界面技术,以及Java网络通信、Java多线程支持、Java反射、设计模式、JDBC等知识点。希望通过这15个项目激发读者的编程激情。

1控制台五子棋
    1.1 引言
        1.1.1 五子棋介绍
        1.1.2 输入输出约定
    1.2 了解游戏流程描述
        1.2.1 玩家输入坐标
        1.2.2 "电脑"下棋
    1.3 创建游戏的各个对象
        1.3.1 Chessboard类
        1.3.2 Chessman类
        1.3.3 GobangGame类
    1.4 棋盘类实现
        1.4.1 初始化棋盘
        1.4.2 输出棋盘
        1.4.3 获取棋盘
    1.5 棋子枚举类实现
    1.6 游戏类实现
        1.6.1 使用BufferedReader获取键盘输入
        1.6.2 验证玩家输入字符串的合法性
        1.6.3 判断输赢
    1.6.4 计算机随机下棋
        1.6.5 是否重新游戏
        1.6.6 游戏过程实现
    1.7 本章小结


2 仿Windows计算器

    2.1 仿Windows计算器概述
        2.1.1 数学与其它符号介绍
        2.1.2 界面说明
    2.2 流程描述
    2.3 建立计算器对象
        2.3.1 MyMath工具类
        2.3.2 CalService类
        2.3.3 CalFrame类
    2.4 MyMath工具类实现
        2.4.1 实现四则运算
    2.5 计算器主界面
        2.5.1 初始化界面(initialize()方法)
        2.5.2 创建运算键
        2.5.3 创建操作按键
    2.6 计算业务处理
        2.6.1 计算四则运算结果
        2.6.2 存储操作
        2.6.3 实现开方、倒数等
        2.6.4 实现倒退操作
        2.6.5 清除计算结果
        2.6.6 实现中转方法(callMethod)
    2.7 本章小结

3 图片浏览器

    3.1 图片浏览器概述
    3.2 创建图片浏览器的相关对象
        3.2.1 文件过滤器
        3.2.2 文件对话框
        3.2.3 主界面类
        3.2.4 业务处理类ViewerService
        3.2.5 操作处理类
    3.3 创建主界面
        3.3.1 初始化界面(init()方法)
        3.3.2 创建菜单栏
        3.3.3 创建工具栏
    3.4 实现图片浏览的操作
        3.4.1 实现工具栏点击
        3.4.2 实现菜单的点击
        3.4.3 打开图片
        3.4.4 放大或者缩小图片
        3.4.5 "上一张"、"下一张"图片
    3.5 文件选择与过滤
    3.6 本章小结


4 桌面弹球

    4.1 桌面弹球概述
        4.1.1 动画原理
        4.1.2 小球反弹的方向
    4.2 流程描述
    4.3 创建游戏对象
        4.3.1 基类BallComponent
        4.3.2 砖块类(Brick)
        4.3.3 道具类及其子类(Magic)
        4.3.4 挡板类(Stick)
        4.3.5 小球类(Ball)
        4.3.6 业务处理类(BallService)
        4.3.7 主界面类(BallFrame)
    4.4 主界面实现
        4.4.1 初始化界面(initialize()方法)
        4.4.2 单态模式简介
        4.4.3 运行效果
    4.5 挡板、小球、砖块、道具
        4.5.1 挡板(Stick类)
        4.5.2 小球(Ball类)
        4.5.3 道具(Magic及其子类)
        4.5.4 砖块(Brick类)
    4.6 BallService类实现
        4.6.1 创建与设置砖块
        4.6.2 设置挡板的位置(移动挡板)
        4.6.3 小球与砖块碰撞
        4.6.4 小球、道具与挡板碰撞
        4.6.5 道具的移动
        4.6.6 改变挡板的长度(道具的作用)
        4.6.7 判断是否已经通关
    4.7 功能改进设计
        4.7.1 关卡
        4.7.2 计分
        4.7.3 道具
    4.8 本章小结


5 单机俄罗斯方块

    5.1 俄罗斯方块简介
    5.2 建立界面
    5.2 方块堆砌界面
    5.3 游戏界面
    5.3 创建游戏对象
        5.3.1 设计小方块对象
        5.3.2 设计大方块对象
    5.4 创建与显示大方块
        5.4.1 随机读取小方块图片
        5.4.2 创建大方块对象
        5.4.3 显示当前方块
    5.5 处理方块的行为
        5.5.1 方块变化
        5.5.2 方块的左移和右移
        5.5.3 方块下降
        5.5.4 方块快速下降
        5.5.5 判断是否停止下降
        5.5.6 创建界面的二维数组
        5.5.7 判断是否遇到障碍
        5.5.8 方块结束下降
    5.6 消除行、计分与级别的提升
        5.6.1 消除行
        5.6.2 加入分数计算与级别提升
    5.7 游戏操作
        5.7.1 游戏的暂停
        5.7.2 游戏继续
        5.7.3 判断游戏失败
    5.8 本章总结


6 仿Windows画图



    6.1 画图软件概述
    6.2 画图工具原理
        6.2.1 画线
        6.2.2 其他画图功能
        6.2.3 保存图片功能
    6.3 创建画图工具的各个对象
        6.3.1 工具接口Tool
        6.3.2 Tool的实现类AbstractTool
        6.3.3 AbstractTool的子类
        6.3.4 界面类ImageFrame
        6.3.5 业务逻辑类ImageService
        6.3.6 文件选择类ImageFileChooser
    6.4 主界面实现
        6.4.1 初始化界面(init()方法)
        6.4.2 获取画板
        6.4.3 创建菜单
        6.4.4 创建画图工具栏
        6.4.5 创建颜色选择面板
    6.5 工具实现
        6.5.1 实现拖动边框改变画布大小
        6.5.2 实现父类的画图方法
        6.5.3 鼠标移动时改变指针
        6.5.4 记录记录鼠标按下的位置
        6.5.5 重绘图片
        6.5.6 铅笔工具
        6.5.7 直线工具、矩形工具、椭圆工具和圆矩形工具
        6.5.8 多边形工具
        6.5.9 刷子与橡皮擦
        6.5.10 喷墨工具
    6.6 ImageService类实现
        6.6.1 打开图片文件
        6.6.2 保存图片
        6.6.3 新建图片
        6.6.4 颜色剪辑器
        6.6.5 文件过滤
        6.6.6 根据菜单的点击调用相应的方法
        6.6.7 判断图片是否已经保存
    6.7 本章小结

7 单机连连看


    7.1 连连看游戏简介
    7.2 连连看游戏原理
    7.3 创建游戏界面与游戏区域
        7.3.1 创建游戏界面
        7.3.2 游戏区域实现原理
        7.3.3 创建图片方块对象
        7.3.4 创建游戏处理类
        7.3.5 图片的读取
        7.3.6 创建游戏区域图片数组
        7.3.7 根据数组画游戏区域
        7.3.8 随机初始化游戏
    7.4 实现连接程序
        7.4.1 图片选择
        7.4.2 创建连接的相关对象
        7.4.3 准备获取通道的工具方法
        7.4.4 没有转折点的横向连接
        7.4.5 没有转折点的纵向连接
        7.4.6 一个转折点的连接
        7.4.7 两个转折点的连接
        7.4.8 找出最短距离
        7.4.9 画上连接线
    7.5 加入计分与计时功能
        7.5.1 加入计分功能
        7.5.2加入计时功能与游戏的胜利、失败
    7.6 本章小结


第8章 简单Java IDE工具

    8.1 IDE工具简介
    8.2 Java IDE的主要功能
    8.3 建立界面
        8.3.1 建立主编辑区和信息显示区
        8.3.2 建立项目显示区
        8.3.3 添加菜单和工具栏
        8.3.4 建立工作空间选择界面
        8.3.5 建立文件、目录、项目添加界面
    8.4 实现工作空间选择功能
        8.4.1 实现目录选择功能
        8.4.2 实现工作空间选择的确定按钮
    8.5 创建项目树
        8.5.1 创建树的各个对象
        8.5.2 实现创建项目树的功能
        8.5.3 设置树的外观
        8.5.4 实现树节点的选择事件
    8.6 实现文件操作功能
        8.6.1 新建文件
        8.6.2 新建目录
        8.6.3 新建项目
        8.6.4 策略模式
        8.6.5 文件打开
        8.6.6 显示行数与高亮
        8.6.7 文件的保存功能
        8.6.7 运行Java文件
    8.7 实现文本操作
        8.7.1 文本操作
    8.8 本章小节



9 图书进存销系统


    9.1 项目简介
    9.2 建立界面
        9.2.1 登录界面
        9.2.2 销售管理界面
        9.2.3 入库管理界面
        9.2.4 书本管理界面
        9.2.5 种类管理界面
        9.2.6 出版社管理界面
        9.2.7 修改界面代码
    9.3 设计系统数据库
        9.3.1 设计出版社表
        9.3.2 设计种类表
        9.3.3 设计书表
        9.3.4 设计入库记录表
        9.3.5 设计销售记录表
    9.4 开发前的准备工作
        9.4.1 设计表的对应类
        9.4.2 编写配置读取类
        9.4.3 编写JDBC操作类
        9.4.4 创建数据转换工具类
    9.5 出版社管理功能
        9.5.1 分层结构
        9.5.2 获取全部出版社
        9.5.4模糊查询
        9.5.4 查看出版社
        9.5.5 新增出版社
        9.5.6 修改出版社
    9.6 书本管理功能
        9.6.1 获取全部书
        9.6.2 查看书本
        9.6.3 新增书本
        9.6.4 图片上传功能
    9.7 销售管理功能
        9.7.1 销售记录列表
        9.7.2 查看交易记录
        9.7.3 实现新增交易记录功能
    9.8 本章小结

10 事务跟踪系统



    10.1 确定系统需求
    10.2 建立界面
        10.2.1 登录界面
        10.2.2 我的事务界面
        10.2.3 事务的完成、暂时不做、不做的处理界面
        10.2.4 事务转发界面
        10.2.5 事务管理界面
        10.2.6 新建事务界面
        10.2.7 用户选择界面
        10.2.8 用户管理界面
        10.2.9 新建用户界面
    10.3 开发准备
        10.3.1 数据转换工具类
        10.3.2 数据库执行类
        10.3.3 DAO层的基类
        10.3.4 值对象基类
    10.4 用户管理
        10.4.1 设计用户管理的相关对象
        10.4.2 用户登录
        10.4.3 查找全部用户
        10.4.4 新增用户功能
        10.4.5 删除用户
        10.4.6 查询用户
    10.5 事务管理
        10.5.1 设计事务对象
        10.5.2 根据发起人查找事务
        10.5.3 新建事务
        10.5.4 催办事务
        10.5.5 将事务置为无效
    10.6 我的事务
        10.6.1 设计其他对象
        10.6.2 将事务设为"暂时不做"状态
        10.6.3 将事务置为"不做"状态
        10.6.4 完成事务
        10.6.5 转发事务
        10.6.6 查看事务
        10.6.7 查询事务
    10.7 本章小结

11 多线程下载工具

    11.1 多线程下载工具简介
    11.2 建立下载工具的界面
        11.2.1 主界面
        11.2.2 导航树
        11.2.3 资源列表
        11.2.4 资源信息显示
        11.2.5 新建下载任务界面
        11.2.6 悬浮窗口
        11.2.7 任务栏图标
    11.3 设计下载的相关对象
        11.3.1 资源状态对象
        11.3.2 块对象
        11.3.3 资源对象
        11.3.4 上下文对象
    11.4 下载资源
        11.4.1 界面新增下载资源
        11.4.2 建立下载线程
        11.2.3 进行文件分割
        11.2.4 文件合并
        11.2.5 暂停下载
        11.2.6 继续下载
    11.5 保存下载信息
        11.5.1 进行序列化保存对象
        11.5.2 反序列化
    11.6 其他操作
        11.6.1 查看任务
        11.6.2 删除任务
        11.6.3 删除已经完成的任务
        11.6.4 开始全部任务
        11.6.5 暂停全部任务
        11.6.6 节点的点击
        11.6.7 打开/关闭主窗口
    11.7 本章小结


12 邮件客户端

    12.1 本章涉及的技术
        12.1.1 JavaMail简介
        12.1.2 SMTP协议简介
        12.1.3 POP3协议简介
        12.1.4 XStream简介
    12.2 建立界面
        12.2.1 登录界面
        12.2.2 客户端主界面
        12.2.3 配置界面
        12.2.4 邮件编写界面
    12.3 创建客户端的基础对象
        12.3.1 创建邮箱上下文对象
        12.3.2 创建邮件对象
    12.4 用户登录与用户配置
        12.4.1 实现用户登录
        12.4.2 实现用户信息配置
    12.5 接收邮件
        12.5.1 接收邮件
        12.5.2 获取邮件正文
        12.5.3 获取邮件收件人
        12.5.4 获取邮件的发件人
        12.5.5 获取邮件的发送日期
        12.5.6 获取邮件的大小
        12.5.7 获取邮件的抄送地址
        12.5.7 获取附件并存放到本地的目录中
        12.5.8 将Message封装为Mail
        12.5.9 对邮件进行排序
        12.5.10 删除邮件服务器上面的邮件
        12.5.11 将Mail对象转换成XML文件并保存到本地目录中
        12.5.12 在界面中显示邮件
        12.5.13 编写任务调度器接收邮件
    12.6 初始化界面数据
        12.6.1 转换XML文件为Mail对象
        12.6.2 在各个Box间切换
    12.7 操作邮件
        12.7.1 查看邮件
        12.7.2 查看附件
        12.7.3 删除邮件
        12.7.4 彻底删除邮件
        12.7.5 还原邮件
    12.8 发送邮件
        12.8.1 实现发送邮件的功能
        12.8.2 界面封装Mail对象进行发送
        12.8.3 处理邮件附件
        12.8.4 测试发送邮件功能
        12.8.5 处理邮件的其他功能
    12.9 本章小节


13MySQL管理器

    13.1 MySQL管理器原理
    13.2 建立界面
        13.2.1 MySQL安装目录选择界面
        13.2.2 主界面
        13.2.3 数据显示界面
        13.2.4 创建连接界面
        13.2.5 创建表界面
        13.2.6 视图界面
        13.2.7 存储过程界面
        13.2.8 查询界面
        13.2.9 树节点右键菜单
        13.2.10 数据列表右键菜单
    13.3 实现MySQL安装目录选择功能
        13.3.1 实现目录选择
        13.3.2 读取和保存安装目录路径
        13.3.3 读取连接信息
    13.4 连接管理
        13.4.1 创建连接节点
        13.4.2 打开连接
        13.4.3 新建连接
        13.4.4 删除连接
        13.4.5 关闭连接
    13.5 数据库管理
        13.5.1 打开数据库
        13.5.2 新建数据库
        13.5.3 删除数据库
        13.5.4 关闭数据库
    13.6 视图管理
        13.6.1 读取视图列表
        13.6.2 新建视图
        13.6.3 修改视图与删除视图
    13.7 存储过程与函数管理
        13.7.1 新增存储过程和函数
        13.7.2修改存储过程与函数
    13.8 表管理
        13.8.1 新字段
        13.8.2 插入字段与删除字段
        13.8.3 编辑字段
        13.8.4 设置默认值与自动增长
        13.8.5 新外键
        13.8.6 删除一个外键
        13.8.7 查询字段信息
        13.8.8 查询外键信息
        13.8.9 新建表
        13.8.10 修改表
        13.8.11 删除表
    13.9 数据浏览
        13.9.1 浏览数据
        13.9.2 刷新数据
        13.9.3 数据排序
    13.10 执行SQL语句
        13.10.1 运行SQL语句
        13.10.2 保存SQL语句
    13.11 SQL文件的导入与导出
        13.11.1 执行SQL文件
        13.11.2 导出数据库与表
    13.12 本章小节



14 自己开发IoC容器

    14.1 IoC简介
    14.2 使用技术简介
        14.2.1 Java反射简介
        14.2.2 dom4j
        14.2.3 Junit
    14.3 确定配置文件内容、编写DTD
        14.3.1 声明bean
        14.3.2 声明单态的bean
        14.3.3 声明延迟加载
        14.3.4 声明设值注入到bean的属性
        14.3.5 声明构造注入到bean的属性
        14.3.6 自动装配
        14.3.7 准备DTD文件
    14.4 读取XML文件
        14.4.1 加载XML文件
        14.4.2 读取Element
        14.4.3 解析Element
        14.4.4 实现isLazy方法
        14.4.5 实现getConstructorElements方法
        14.4.6 实现getAttribute和isSingleton方法
        14.4.7 实现getAutowire方法
        14.4.8 实现getConstructorValue和getPropertyValue方法
    14.5 使用构造注入创建实例
        14.5.1 构造注入简介
        14.5.2 使用无参数构造器创建实例
        14.5.3 使用有参数的构造器创建实例
    14.6 实现设值注入
        14.6.1 实现非自动装配的设值注入
        14.6.2 实现根据名字自动装配
    14.7 实现IoC容器
        14.7.1 定义接口方法
        14.7.2 实现containsBean方法和isSingleton方法
        14.7.3 实现getBean方法
        14.7.4 为AbstractApplicationContext添加子类
        14.7.5 测试IoC容器的创建
    14.8 IoC与图书进存销系统的整合
        14.8.1 需要管理的对象
        14.8.2 创建数据访问层的bean
        14.8.3 创建业务层的bean
        14.8.4 创建视图层的bean
    14.9 本章小结


15 仿QQ游戏大厅
    15.1 游戏大厅简介
    15.2 编写游戏大厅框架
        15.2.1 确定传输格式
        15.2.2 建立处理类接口
        15.2.2 建立玩家类与游戏接口
        15.2.3 编写框架服务器
        15.2.4 编写框架客户端
        15.2.5 建立登录界面
        15.2.6 实现登录功能
    15.3 建立五子棋游戏大厅
        15.3.1 编写游戏大厅的对象
        15.3.2 服务器创建游戏大厅数组
        15.3.3 玩家进入游戏大厅
        15.3.4 创建游戏大厅界面
        15.3.5 创建玩家列表与聊天界面
        15.3.6 使用服务器的数据创建游戏大厅
    15.4 实现聊天功能
        15.4.1 发送聊天信息
        15.4.2 接收聊天信息
        15.5 启动游戏
        15.5.1 建立游戏界面
        15.5.2 玩家坐下
        15.5.3 实现游戏聊天
    15.6 开始游戏
        15.6.1 游戏准备
        15.6.2 玩家下棋
        15.6.3 逃跑与认输
        15.6.4 请求和棋
    15.7 五子棋游戏大厅总结
    15.8 编写一个测试聊天室
        15.8.1 建立聊天室界面
        15.8.2 实现聊天室
        15.8.3 将聊天室放置到框架中测试
    15.9 本章小节



部分项目截图:

俄罗斯方块:

5.11.png
2010-5-30 13:56


画图程序:

6.11.png
2010-5-30 13:56


连连看:
7.26.png
2010-5-30 13:56


Java IDE:
8.23.png
2010-5-30 13:56


多线程下载工具:
11.10.png
2010-5-30 13:56


邮件客户端:
12.7.png
2010-5-30 13:56


MySQL管理器:
13.16.png
2010-5-30 13:56


游戏大厅:
15.4.png
2010-5-30 13:56

15.12.png
2010-5-30 13:56





封面:
疯狂Java 实战演义-01.png
2010-5-30 13:57

我始终相信每克服一个困难就是向成功更近了一步!

TOP

万里独行多陌路,一诗好赏便知音。

TOP

万里独行多陌路,一诗好赏便知音。

TOP

TOP

原帖由 leeyohn 于 2010-5-30 15:47 发表
这不就是老师书本后面那些习题的答案吗


站长疯狂习题的汇总啊。。
这本书的两位作者 也算牛了。。不过,这样的事情也总是要有人做的!还是赞一个!
成功的人不是赢在起点,而是赢在转折点!

TOP

TOP

TOP

生命没有假期!
如果生命只剩下最后一秒,你可会想到我?

TOP

TOP

返回列表