
本书是为指导学生进行Java语言课程设计及应用实践而编写的。书中选取了Java语言在应用基础、远程图像传输、管理信息系统、串口通信技术、移动通信程序设计五个不同方面的典型应用。本书深入剖析了应用系统的开发思路、方法和技巧,详细地介绍了基于Java的应用系统开发的全过程。对于系统设计、开发环境选择、系统功能模块设计、各个功能模块的创建等应用系统开发过程进行了详细的讲解。这对学生进一步系统掌握Java应用系统的设计思想及培养学生解决实际生产应用技术问题具有重要的引导作用。
本书适合作高等院校学生课程设计、毕业设计及应用实践课程教学用书,也可作为Java程序设计应用开发人员参考用书。
随着我国高等教育规模的扩大和产业结构调整的进一步完善,社会对高层次应用型人才的需求将更加迫切。各地高校紧密结合地方经济建设发展需要,科学运用市场调节机制,合理调整和配置教育资源,在改革和改造传统学科专业的基础上,加强工程型和应用型学科专业建设,积极设置主要面向地方支柱产业、高新技术产业、服务业的工程型和应用型学科专业,积极为地方经济建设输送各类应用型人才。各高校加大了使用信息科学等现代科学技术提升、改造传统学科专业的力度,从而实现传统学科专业向工程型和应用型学科专业的发展与转变。在发挥传统学科专业师资力量强、办学经验丰富、教学资源充裕等优势的同时,不断更新其教学内容、改革课程体系,使工程型和应用型学科专业教育与经济建设相适应。计算机课程教学在从传统学科向工程型和应用型学科转变中起着至关重要的作用,工程型和应用型学科专业中的计算机课程设置、内容体系和教学手段及方法等也具有不同于传统学科的鲜明特点。
为了配合高校工程型和应用型学科专业的建设和发展,急需出版一批内容新、体系新、方法新、手段新的高水平计算机课程教材。目前,工程型和应用型学科专业计算机课程教材的建设工作仍滞后于教学改革的实践,如现有的计算机教材中有不少内容陈旧(依然用传统专业计算机教材代替工程型和应用型学科专业教材),重理论、轻实践,不能满足新的教学计划、课程设置的需要; 一些课程的教材可供选择的品种太少; 一些基础课的教材虽然品种较多,但低水平重复严重; 有些教材内容庞杂,书越编越厚; 专业课教材、教学辅助教材及教学参考书短缺,等等,都不利于学生能力的提高和素质的培养。为此,在教育部相关教学指导委员会专家的指导和建议下,清华大学出版社组织出版本系列教材,以满足工程型和应用型学科专业计算机课程教学的需要。本系列教材在规划过程中体现了如下一些基本原则和特点:
(1) 面向工程型与应用型学科专业,强调计算机在各专业中的应用。教材内容坚持基本理论适度,反映基本理论和原理的综合应用,强调实践和应用环节。
(2) 反映教学需要,促进教学发展。教材规划以新的工程型和应用型专业目录为依据。教材要适应多样化的教学需要,正确把握教学内容和课程体系的改革方向,在选择教材内容和编写体系时注意体现素质教育、创新能力与实践能力的培养,为学生知识、能力、素质协调发展创造条件。
(3) 实施精品战略,突出重点,保证质量。规划教材建设仍然把重点放在公共基础课和专业基础课的教材建设上; 特别注意选择并安排一部分原来基础比较好的优秀教材或讲义修订再版,逐步形成精品教材; 提倡并鼓励编写体现工程型和应用型专业教学内容和课程体系改革成果的教材。
(4) 主张一纲多本,合理配套。基础课和专业基础课教材要配套,同一门课程可以有多本具有不同内容特点的教材。处理好教材统一性与多样化,基本教材与辅助教材、教学参考书,文字教材与软件教材的关系,实现教材系列资源配套。
目录Java程序设计实践教程(5) 依靠专家,择优选用。在制订教材规划时要依靠各课程专家在调查研究本课程教材建设现状的基础上提出规划选题。在落实主编人选时,要引入竞争机制,通过申报、评审确定主编。书稿完成后要认真实行审稿程序,确保出书质量。
繁荣教材出版事业,提高教材质量的关键是教师。建立一支高水平的以老带新的教材编写队伍才能保证教材的编写质量和建设力度,希望有志于教材建设的教师能够加入到我们的编写队伍中来。
21世纪高等学校计算机教育实用规划教材编委会
联系人: 丁岭 dingl@tup.tsinghua.edu.cn培养和提高大学生实践应用能力一直是教育工作者探索的课题,本书着力于让学生在学习了Java语言基础知识以后,迅速掌握设计应用技术。书中选取了Java语言在应用基础、远程图像传输、管理信息系统、串口通信技术、移动通信程序设计五个不同方面的典型应用。
本书第一部分为Java语言应用基础,分成五章,主要介绍窗体界面程序设计、多线程应用、“连连看”游戏程序设计、远程数据传输、数据库应用等内容。这部分是整本书的基础。除本部分之外,以下各部分之间没有顺序依赖关系,可以根据自己需求进行学习。
第二部分为远程图像传输的设计,分成四章,主要介绍数字图像处理基础、图像像素点的处理、捕获摄像头视频图像、远程屏幕监控系统等内容。
第三部分为管理信息系统的设计,分成两章,主要介绍进销存管理系统、JSP商务网站设计等内容。
第四部分为串口通信技术,分成三章,主要介绍串口通信基础、串口接收和发送数据、温度检测语音图示系统等内容。
第五部分为移动通信程序设计,分成四章,主要介绍J2ME基础知识、MIDP网络信息查询系统、手机游戏设计基础、“打地鼠”游戏程序设计等内容。
书中所提供的完整源程序清单及详尽的分析有助于读者最终掌握开发应用系统的方法。我们还在网站http://www.zsm8.com上提供了本书所有的源代码,希望对大家的学习有所帮助。
本书在编写过程中,得到我的学生孙伟、朱雄以及张晖、郭子达、周杰、骆炎坤、任榕榕等同学的帮助,他们对所有源程序进行了测试和修改,做了大量细致的工作,在此表示感谢。
编者
2006年6月于仰恩大学
第一部分Java语言应用基础
第1章窗体界面程序设计1
1.1界面布局1
1.1.1Java的界面布局原理1
1.1.2常见的布局管理器1
1.1.3界面布局应用示例2
1.2程序启动界面8
1.2.1Java程序启动界面的原理8
1.2.2启动界面程序的实现9
1.3树形分层结构11
1.3.1树形控件简介11
1.3.2最简单的树形结构11
1.3.3处理结点事件12
1.3.4文件树14
1.3.5结合树和输入输出流实现日历记事本21
第2章多线程应用27
2.1线程和多线程27
2.2模拟火车站售票系统28
2.2.1设计项目内容28
2.2.2系统结构设计28
2.2.3程序实现30
第3章“连连看”游戏程序设计44
3.1“连连看”算法分析44
3.1.1“连连看”游戏的规则44
3.1.2“连连看”游戏连接算法思路45
3.1.3“连连看”游戏设计流程48
3.2详细设计48
3.2.1“连连看”程序的方法及其功能48
3.2.2程序实现49
第4章远程数据传输66
4.1Java的Socket编程概述66
4.1.1充分理解Socket66
4.1.2客户端/服务器模式程序设计原理66
4.2远程数据传输示例67
Java程序设计实践教程4.3客户端之间通信的聊天室69
4.3.1设计原理70
4.3.2服务器端程序结构设计70
4.3.3服务器端程序实现70
4.3.4客户端程序结构设计75
4.3.5客户端程序实现75
第5章数据库程序设计91
5.1数据库连接91
5.1.1使用JDBC连接数据库91
5.1.2常用的JDBC类与方法92
5.2电子词典程序设计95
5.2.1设计目标及完成功能95
5.2.2系统结构设计96
5.2.3详细设计96
5.2.4电子词典程序实现97
第二部分Java远程图像传输
第6章数字图像处理基础115
6.1图像的基础概念115
6.2图像的几种常见格式115
6.3载入图像文件116
6.3.1在Applet中加载和显示图像116
6.3.2在Application中加载和显示图像118
第7章图像像素点的处理120
7.1抓取图像像素120
7.2双缓冲技术123
7.3Java捕获屏幕图像的原理126
7.4捕获屏幕图像示例126
第8章捕获摄像头视频图像130
8.1系统概述130
8.1.1系统开发环境130
8.1.2Java媒体框架JMF的应用131
8.2系统设计132
8.2.1系统结构设计132
8.2.2系统详细设计133
8.2.3程序的实现138
第9章远程屏幕监控系统148
9.1设计目标148
9.2系统结构设计148
9.2.1系统总体结构148
9.2.2常用类的介绍149
9.3服务器端程序的实现150
9.3.1服务器端程序详细设计150
9.3.2服务器应用程序的实现153
9.4客户端程序的实现157
9.4.1客户端程序详细设计157
9.4.2客户端程序实现159
第三部分基于Java的管理信息系统
第10章进销存管理系统169
10.1系统总体结构169
10.1.1设计前的思考169
10.1.2系统总体结构170
10.2建立数据库及设置数据源171
10.3设计实现171
10.3.1系统启动界面程序171
10.3.2封面(快闪窗口)程序172
10.3.3登录程序174
10.4系统主程序181
第11章JSP商务网站设计198
11.1JSP开发环境的配置方法198
11.1.1相关软件介绍198
11.1.2配置前的准备198
11.1.3JSP环境的配置199
11.2JSP商务网站设计200
11.2.1商务网站的功能200
11.2.2商务网站的总体结构201
11.2.3商务网站系统总控模块202
11.2.4后台数据库的设计203
11.2.5总控模块页面程序index.jsp204
11.2.6页面顶部模块top.jsp205
11.2.7操作后台数据库的JavaBean208
第四部分Java串口通信技术
第12章Java串口通信基础211
12.1串行通信的工作原理211
12.2常用信号引脚与串口通信接线212
12.2.1DB9和DB25的常用信号引脚说明212
12.2.2RS232C串口通信接线方法(三线制)212
12.3Java Communications API开发包213
12.3.1安装串口通信开发包comm.jar213
12.3.2Comm API的类结构214
12.4Comm API的应用215
12.4.1检测出系统所有的RS232端口215
12.4.2打开和关闭端口216
12.4.3串口通信的监听方式217
第13章串口发送和接收数据218
13.1从串口读取数据218
13.1.1设计前的思考218
13.1.2串口读取数据的程序219
13.2从串口发送数据222
13.2.1设计前的思考222
13.2.2串口发送数据程序223
第14章温度检测语音图示系统226
14.1系统分析与设计226
14.1.1需求分析226
14.1.2系统设计226
14.2功能分析与设计227
14.2.1串口接收数据227
14.2.2数据库操作227
14.2.3语音服务系统228
14.2.4图形显示228
14.3语音设计229
14.4数据库结构分析与创建230
14.5动态数据曲线图形显示设计230
14.6系统代码设计232
14.6.1串口接收数据和语音发音程序232
14.6.2动态数据曲线图形显示完整代码240
第五部分Java移动通信应用程序设计
第15章J2ME基础知识245
15.1建立J2ME开发环境245
15.1.1J2ME概述245
15.1.2建立J2ME开发环境246
15.2Screen高级用户界面设计248
15.2.1用户界面设计248
15.2.2Screen高级用户界面设计249
15.2.3Canvas低级用户界面设计251
15.3控制图形移动程序设计252
15.3.1任务及总体结构设计252
15.3.2用户界面TestMove类253
15.3.3TestMoveCanvas类255
15.3.4移动物体MoveOb类257
第16章MIDP网络信息查询系统260
16.1MIDP网络信息查询系统模型260
16.2信息查询服务端程序设计260
16.2.1信息查询服务端功能分析及结构设计260
16.2.2信息服务端程序设计261
16.2.3接收和发送查询信息RunServer类264
16.3信息查询客户端程序设计273
16.3.1信息查询客户端功能分析及结构设计273
16.3.2手机程序入口类Info_client274
16.3.3用户操作界面模块mainDisplayable275
16.3.4信息查询类newDisplayable278
16.3.5显示前一次查询信息类preDisplayable280
16.3.6连接服务器查询类searchCity281
第17章手机游戏设计基础284
17.1MIDP的Game类284
17.2动画精灵Sprite类288
17.3图层289
17.3.1图层概述289
17.3.2图像贴片TiledLayer类290
17.3.3用图像贴片组合成大背景图像示例291
第18章“打地鼠”游戏程序设计296
18.1“打地鼠”游戏功能分析296
18.1.1游戏内容296
18.1.2设计前的准备296
18.1.3算法分析297
18.2“打地鼠”游戏程序实现297
18.2.1锤子精灵HammerSprite297
18.2.2地鼠精灵MouseSprite299
18.2.3游戏主程序MainCanvas305
18.2.4MIDlet程序BeatSusliksMIDlet312