您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > JAVA通讯录(内含源代码)
JAVA课程设计实验报告学校:江西农业大学班级:软件1115班姓名:朱利斌学号:20111976课程:JAVA通讯录指导教师:邓老师2012.12.29一、设计目的本课程设计是java语言学习中很重要的实践性环节之一,是在学习完java课程后进行的一次全面的综合练习旨在巩固和加深我们对java语言的基本知识的理解和掌握,掌握java语言编程和程序调试的基本技能,利用java语言进行基本的软件设计,掌握书写程序设计说明文档的能力,提高运用java语言解决实际问题的能力。1、掌握类的定义及应用方法2、掌握对象的创建方法,了解实例变量、实例方法和静态字段的特征3、体会java在中类和对象的面向对象的设计思想二、实验内容本次课程设计是开发一个简易的、小型的通讯录,我们命名为“通讯录”。通讯录保存在计算机中,便于分组,还便于增加、修改、删除好友信息。设计一个通讯录管理软件,要求如下:增加组、删除组、修改组、查询好友、添加好友、修改好友,删除好友,退出。通讯录好友信息包括:姓名,电话,手机,住址,性别等。(1)通讯录的每一条信息包括姓名,电话,电话;(2)输入功能:可以一次完成若干条信息的输入;(3)显示功能:完成全部通讯录信息的显示(可现实多个好友和好友分组);(4)查找功能:完成按姓名查找通讯信息;(5)删除功能:完成按姓名删除通讯信息;(6)应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!三、实验要求1、对系统进行功能模块分析、功能模块分析正确;2、系统设计要有经济价值,要实用;3、编程简练,可用,功能全面,具有较好的健壮性;4、系统界面外观和布局,可个性化设计,总体原则是“界面简洁、操作便捷”;5、说明书、流程图要清楚;6、应用程序打包发布。四,设计思路1程序设计总体思路通讯录的功能模块有:(1)提供显示主界面,方便用户操作,满足需求;(2)添加:可以添加通讯录好友分组和好哦与信息,依次输入姓名、性别、手机、固定电话、地址、组别、归属组等;(3)显示:可以显示输出所有通讯录里信息;(4)查询:可以用姓名查询;(5)修改:输入欲修改的那个人的名字后,再依次输入姓名、性别、电话、手机、地址、组别、可完成修改,也可以修改组名;(6)删除:可以直接删除好友分组及里面的好友,也可以单独删除好友;(7)帮助:可以在帮助里面;程序分为多个小模块,通过调用实现各种功能,增强了程序的可建设性。2程序设计总体框图3.功能模块设计点击运行系统,进入主界面进行操作组和好友的操作;点击组操作,进入界面,进行组添加,组修改,组删除以及退出的操作。点击好友操作,进入界面,进行好友的添加,好友查询,好友修改,好友删除的操作。组操作:点击添加组的操作,进入界面,进行组的添加。点击删除组的操作,进入界面,进行组的删除。点击修改组名的操作,进入界面,进行组的修改。好友操作:通讯录组操作帮助好友操作添加组删除组修改组退出查询好友添加好友修改好友删除好友点击好友添加的操作,进入界面,进行好友的添加。点击好友查询的操作,进入界面,进行好友的查询。点击好友删除的操作,进入界面,进行好友的删除。点击好友修改信息的操作,进入界面,进行好友的修改信息。4.详细设计该程序共有8个类,但只创建了1个java源程序文件,以下按照类的名字先后解释(在设计软件MyEclipse工程排序也是如此),另外在此只是简要介绍相关源程序所实现的功能,程序截图参见调试,源程序参见附录:MainFrame类做的是功能表中主界面的功能,使用此项功能的时候,在点击“显示查询结果”后,让界面显示出操作内容;点击“退出”的时候退出该功能。Addgroup类做的就是“增加分组”的界面,上面有标题、文字显示框和两个控制按钮——“增加分组”和“退出”。Deletegroup类做的是“删除分组”的界面,有一个文字输入框(提供按名字来删除),和两个控制按钮——“删除”和“退出”。Revisegroup类做的是“修改”的相关功能,当输入名字之后会进行修改,,两个控制按钮——“修改”和“退出”。Searchfriend类做的是“编辑—查询好友”的界面,提供按名字搜索,有一个文字输入框,和两个控制按钮——“查询”和“退出”。Addfriend类做的是“编辑—增加好友”的界面,输入需要增加的姓名,电话,手机,住址,性别,归属组之后,两个控制按钮——“增加”和“退出”。ReviseFriendname类做的是“修改好友名字”的界面,有一个文字输入框提供输入路径,两个控制按钮——“修改”和“退出”。Deletefriend类做的是“删除好友”的界面,输入了完整路径之后,有一个文字输入框提供输入路径,两个控制按钮——“删除”和“退出”。五,测试运行1系统测试方案:1.1进入主界面功能的一系列测试:组界面:测试方法如下测试内容测试方法添加组点击组操作,添加组,输入相关信息并添加,并在主界面点刷新删除组点击组操作,删除组,输入要删除组的名称,点击删除,并在主界面点刷新修改组名点击组操作,修改组名,输入要修改组的预案名称和新组名,并点击修改,并在主界面点刷新1.2好友界面:测试方法如下测试内容测试方法添加好友点击好友操作,添加好友,输入相关好友信息并添加,并在组界面点击刷新查询好友点击好友操作,输入要查询好友的名字,并且可以修改好友信息修改好友点击好友操作,输入要修改好友的姓名,出现好友信息界面,修改原有的数据,点击修改,并在主界面点刷新删除好友点击好友操作,输入要删除好友的姓名,点击删除,并在主界面点击刷新2,运行结果1、运行程序,出现主界面,如下图:2.组操作下拉菜单3增加组:同学增加成功:如下图所示4.删除组删除成功:如下图所示5.修改组:将同学改为同事修改组名成功:如下图所示6.增加好友:分别在不同的两个组增加一个人添加好友成功:如下图所示7.查询好友:对同事中的周杰伦和好友中的她她她分别查询查询结果:如图所示查询她她她:如下图8.修改好友:对周杰伦进行修改,改成许嵩修改成功:如下图9.删除好友:对许嵩进行删除删除成功:如下图所示六、总结经过几天的努力,本次课程设计已圆满完成。在这期间,我深深地感受到设计成功的喜悦,也体味到失败的痛苦。好在前面的学习过程中,理论知识学得比较深刻,加之老师和同学的帮助,很快适应了软件开发的流程。课程设计确实能够锻炼一个人在遇到一个不懂的问题时候,怎样去查阅资料,使一个个疑难问题迎刃而解。这对我以后的工作有非常大的意义。在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,和同学们相互探讨,相互学习。学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程.”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义.我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础.源代码:importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassMainFrameextendsJFrameimplementsActionListener{JTextAreatxt;JMenuBarmb;JMenumenu1;JMenumenu2;JMenumenu3;JButtonbtn1;JButtonbtn2;JListlist;inti=0;intk=0;intj=0;intm=0;intt=0;Stringstr[]=newString[100];Stringstr1[]=newString[100];//姓名Stringstr2[]=newString[100];//手机Stringstr3[]=newString[100];//电话Stringstr4[]=newString[100];//地址booleanstr5[]=newboolean[100];//性别Stringstr6[]=newString[100];//归属JMenuItemitem1;JMenuItemitem2;JMenuItemitem3;JMenuItemitem4;JMenuItemitem5;JMenuItemitem6;JMenuItemitem7;JMenuItemitem8;MainFrame(){//主界面this.setTitle(通讯录);this.setSize(300,500);this.setLocation(200,100);this.setLayout(null);txt=newJTextArea(30,60);btn1=newJButton(刷新);btn2=newJButton(退出);Object[]o=newObject[]{亲人,老爸,老妈,朋友,张三,李四};list=newJList(o);list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);mb=newJMenuBar();menu1=newJMenu(组操作);item1=newJMenuItem(添加组);item2=newJMenuItem(删除组);item3=newJMenuItem(修改组);item4=newJMenuItem(退出);menu2=newJMenu(好友操作);item5=newJMenuItem(查询好友);item6=newJMenuItem(添加好友);item7=newJMenuItem(修改好友);item8=newJMenuItem(删除好友);menu3=newJMenu(帮助);mb.add(menu1);mb.add(menu2);mb.add(menu3);menu1.add(item1);menu1.add(item2);menu1.add(item3);menu1.add(item4);menu2.add(item5);menu2.add(item6);menu2.add(item7);menu2.add(item8);txt.setBounds(20,140,250,230);btn1.setBounds(30,400,60,30);btn2.setBounds(200,400,60,30);list.setBounds(20,20,250,120);this.setJMenuBar(mb);this.add(list);this.add(txt);this.add(btn1);this.add(btn2);item1.addActionListener(this);item2.addActionListener(this);item3.addActionListener(this);item4.addActionListener(this);item5.addActionListener(this);item6.addActionListener(this);item7.addActionListener(this);item8.addActionListener(this);btn1.addActionListener(this);btn2.addActionListener(this);this.setVisible(true);this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);}publicstaticvoidmain(String[]args){newMainFrame();}publicvoidactionPerformed(ActionEvente){if(e.getSource()==item1){newAddgroup();}elseif(e.getSource()==item2){newDeletegr
本文标题:JAVA通讯录(内含源代码)
链接地址:https://www.777doc.com/doc-5688019 .html