1郑州科技学院Java课程设计报告题目Java通讯录课程设计课程名称Java程序设计实用教程院部名称信息工程学院专业计算机科学与技术专业班级11计科1班学生姓名胡燊学号201115007指导教师杜远坤完成时间2013年12月20日2摘要本文介绍了一个简单实用的个人通讯录管理系统java工程,详细描述了本人在编程时候的编程思想和在MyEclipse中调试运行的步骤,简明扼要地介绍了整个工程的功能和实用方法。这个个人通讯录管理系统含有添加、删除、查找等基本功能,同时也添加了一些有趣的小功能——支持背景图片的更换。在程序中完成了与数据库的通信,并同样可以对数据库进行添加、查找、删除等功能。关键词:个人通讯录管理系统、添加、删除、查找、数据库3目录摘要.............................................................21绪论...........................................................41.1设计目的..................................................41.2设计内容..................................................42程序要求.......................................................43算法分析.......................................................53.1程序总体设计思想..........................................53.2程序设计总体框图..........................................53.3程序详细设计..............................................64调试过程.......................................................85体会..........................................................166参考文献......................................................17附录(源程序)..................................................1841绪论1.1设计目的本课程设计是java语言学习中很重要的实践性环节之一,是在学习完java课程后进行的一次全面的综合练习旨在巩固和加深我们对java语言的基本知识的理解和掌握,掌握java语言编程和程序调试的基本技能,利用java语言进行基本的软件设计,掌握书写程序设计说明文档的能力,提高运用java语言解决实际问题的能力。1.2设计内容在设计一个完整的系统中,我从系统的管理员登录界面开始做,另外依据相关要求,对系统增加了数据库支持(MicrosoftAccess做的数据库),还有对数据库里的数据进行增加、删除、显示所有记录、查询记录、导出备份数据库文件。另外为了界面美观,增加了系统主界面背景界面图片的支持。为了保证数据库的安全,在系统中设立了管理员权限,即只有被允许的用户才可以进入该系统。2程序要求设计一个通讯录管理软件,要求如下:增加记录、删除记录、显示所有记录、查询记录、文件备份、退出。通讯录记录信息包括:姓名,电话,email等。(1)通讯录的每一条信息包括姓名,单位,电话!(可用数组或数据库);(2)输入功能:可以一次完成若干条信息的输入;(3)显示功能:完成全部通讯录信息的显示(一屏最多显示10条,超过十条应能够自动分屏显示);(4)查找功能:完成按姓名查找通讯信息;(5)删除功能:完成按姓名删除通讯信息;(6)应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!53算法分析3.1程序总体设计思想个人通讯录件的功能模块有:(1)提供登陆界面,方便用户进入,满足需求;(2)添加:可以添加通讯录记录,依次输入姓名、性别、出生日期、移动电话、固定电话、MSN/QQ、公司地址、E-Mail地址、家庭住址、组别、备注后,会提示是否继续添加;(3)显示:可以以表格形式输出所有通讯录里的记录;(4)查询:可以用姓名查询;(5)修改:输入欲修改的那个人的名字后,再依次输入姓名、性别、出生日期、移动电话、固定电话、MSN/QQ、公司地址、E-Mail地址、家庭住址、组别、备注即可完成修改;(6)删除:可以直接删除多余的通讯录记录;(7)帮助:可以在帮助里面修改用户密码;(8)导出数据库:可以将数据库以文本txt格式导出。程序分为多个小模块,通过调用实现各种功能,增强了程序的可建设性。3.2程序设计总体框图个人通讯录管理系统设计的总体框图如图3-1:6图3-1个人通讯录管理系统设计的总体框图3.3程序详细设计该程序共有18个类,也分别创建了18个java源程序文件,以下按照文件名字母排序先后解释(在设计软件MyEclipse工程排序也是如此),另外在此只是简要介绍相关源程序所实现的功能,程序截图参见调试,源程序参见附录:Demonstrationaction.java文件做的是功能表中“编辑—查找全部”的功能,使用此项功能的时候,在点击“显示查询结果”后,让界面显示出全部数据库中的内容;点击“退出全部查询”的时候退出该功能。Demonstrationframe.java文件做的就是“编辑—查找全部”的界面,上面有标题、文程序开始菜单界面面登陆界面功能界面增加界面查找界面修改界面程序结束进入功能总体功能数据功能显示功能7字显示框和两个控制按钮——“显示查询结果”和“退出全部查询”。Dlframe.java文件做的是“编辑—删除”的界面,有一个文字输入框(提供按名字来删除),和两个控制按钮——“删除”和“放弃”。Dlframeaction.java文件做的是“编辑—删除”的相关功能,当输入名字之后会进行查找删除,若在数据库中含有当前名字的数据则删除该条数据并显示“删除成功”,否则显示“未找到该项”。点击“放弃”即退出删除功能。Fdframe.java文件做的是“编辑—查询”的界面,提供按名字搜索,有一个文字输入框,和两个控制按钮——“查询”和“撤销”。Fdframeaction.java文件做的是“编辑—查询”的相关功能,输入需要查询的姓名之后,如若在数据库中有符合的数据后,则显示查询结果,并弹窗显示“查询结束”;如若没有对应的数据,则弹窗显示“没有记录”。点击“撤销”则退出查询功能。Fdkeep.java文件做的是“文件—导出数据库”的界面,有一个文字输入框提供输入导出的数据库的完整路径,两个控制按钮——“save”和“giveup”。Fdkeepaction.java文件做的是“文件—导出数据库”的相关功能,输入了完整路径之后,会启动MicrosoftOfficeAccess导出数据库;如若路径错误,则会弹窗显示“路径错误!”。点击“giveup”后则退出界面。Frameaction.java文件做的是主界面的相关功能选择。主界面有三个大选项,文件、编辑和帮助。其中文件包括导入数据库和退出,编辑包括删除、添加、按姓名查找和查找全部,帮助则是修改管理员密码。Image.java文件是使主界面支持背景图片的切换,使用的是工程文件夹Images下的U.jpg。支持任意大小的图片。Loginframe.java文件做的是主界面的登录界面。即在程序以javaApplication运行后需要进行用户登录的界面,提供用户名和密码的文本输入框和两个控制按钮——“certain”和“cancel”。LoginIn.java文件做的是登录界面的相关功能,对输入的用户名与密码和数据库进行匹配,如若正确则弹窗显示“登录成功”,否则弹窗显示“用户名或密码错误”。Myaddress.java文件做的是定义了一个公共类Myaddress,并定义了主函数是调用这个Myaddress的公共类。Panelframe.java文件做的是“编辑—添加”的界面,提供给用户向数据库添加新数据,有对于姓名、性别、出生日期、移动电话、固定电话、MSN/QQ、公司地址、E-Mail地址、家庭住址、组别、备注等信息录入的文本输入框。以及最后的两个控制按钮——8“保存”和“取消”。Panelframeaction.java文件做的是“编辑—添加”的相关功能。在界面中输入相关信息后,点击保存则系统向数据库存入信息,点击取消则将信息丢弃。同时还确保信息的相关性,例如控制了出生日期是使用了日期控件的使用等等。Revisionmovement.java文件做的是“帮助—修改密码”的相关功能。首先验证用户输入的原始密码是否正确,然后接受用户输入的6位以上的新密码,存入数据库并修改密码信息。Revisionpassword.java文件做的是“帮助—修改密码”的界面。界面包括两个旧密码和新密码的文本输入框,和两个控制按钮——“保存”和“取消”。Year.java文件做的是在出生日期里面的日期控件,对平年闰年的区分,然后对各个月不同日期做了相关定义。4调试过程调试是一耳光程序员最基本的技能,其重要性甚至超过学习一门语言。不会调试的程序员就意味着他即使会一门语言,却不能编写出任何好的软件。这是当初我最开始接触C语言的时候让我感受很深的一句话,我当时很不能理解如果调试真的这么重要,为什么在我们的课本里面却找不到相关的内容,甚至一些相当经典的教材里面也没有对其进行大篇幅的介绍。直到自己开始写了一些大一点的程序,才发现有时候自己最初设计程序在一些细节上的新颖想法是那么的可笑,带来的只是无穷无尽的错误和威胁。程序编写完成就应该调试自己所完成的程序,以减少程序中的bug。以下是我的程序调试以及运行过程截图。说明:本程序的运行环境是MyEclipse6.5,经验证在Eclipse中运行会产生错误“ColumnnotFound”,但是最开始我是在MyEclipse中完成的程序,我也就没有去就针对Eclipse进行更改,Linux的环境虚拟机我没有安装,所以不知道在虚拟机Linux下是否能够正常运行。打开MyEclipse6.5软件,导入Workspace,如图4-1:9图4-1编程环境截图右键点击工程,选择“Runas—JavaApplication”,成功运行,出现用户登录界面,输入用户名“wj”,密码“123”,如图4-2:图4-2个人通讯录登入界面点击“certain”,登录成功,点击确定,进入个人通讯录管理系统,如图4-3:10图4-3个人通讯录管理系统主界面点击左上角的“文件—导出数据库”,如图4-4:图4-4导出数据库输入完整路径之后点击“save”就可以以文本格式保存数据库,例如我们就按照提示输入路径,则数据库的备份文件如图4-5:11图4-5保存的数据库文件点击“文件—退出”则退出了个人通讯录管理系统。接下来是对数据库进行添加、编辑、查找、删除等功能。故先看看数据库的原文件。注:本数据库是由MicrosoftOfficeAccess2007创建,如若计算机里面没有Access,编译环境会对Access驱动的设置报错!数据库如图4-6:图4-6原始数据库选择“编辑—添加”对数据库进行添加操作。输入如下信息,如图4-7:12图4-7信息添加界面点击“保存”将新加的信息加入数据库,系统会告知“添加成功”。如图4-8:图4-8系统信息添加界面重新查看数据库,可以发现新添加的信息已经加入了数据库。如图4-9:图4-9添加信息后的数据库部分截图由上面操作可以知道,添加功能正常。选择“编辑—删除”,按照提示输入删除的用户名,如图4-10,就假设我们删除刚才添加的信息:13图4-10删除记录点击“删除”后,则系统会提示“