还剩22页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
《J__a程序设计》课程设计专业班级2013级计算机科学与技术一班目录TOC\o1-3\h\z\u摘要1
一、概述
21.需求分析
22.任务分析3
二、总体设计
31.设计要求
32.设计任务
33.设计思路4
三、程序类
41.类AddressListSystem
41.1继承与JFrame类
41.2定义组件
41.3ArrayList
52.Note类
52.1实现Serializable接口
52.2定义类5
四、程序的功能
51.录入__人信息
51.1__人信息表
51.2实现添加__人方法
62.查询__人
62.1查询的方法
62.2实现查询__人方法
63.删除指定的__人信息
63.1删除的方法
63.2实现删除__人方法
64.退出通讯录管理系统7
五、程序运行坏境7
六、系统测试
71.通讯录管理系统运行图形用户界面
72.__人信息添加
82.__人信息查找
93.删除指定__人的信息
104.退出通讯录管理系统12
七、结论
121.结束语
122.致谢
133.____13附14程序源代码14摘要随着当今世界经济的快速发展,通讯技术日益成熟,个人间的__增加,个人对自己__人信息的管理成为一个重要的环节与此同时,通讯录便产生了形形__的关于通讯录对的越来越方便着人们的生活通讯录管理软件使用于同学、朋友等日常生活的__人进行的相关的信息的编辑功能,便于用户随时查找所需要的__人的所有信息该通讯录管理系统十分便捷,用户可以通过它方便地进行添加、查找、修改、删除等基本通讯录管理所需的功能软件操作窗口平时可以隐藏于屏幕边缘,用户鼠标移至该处及显示操作界面,用只需输入关键词(__人姓名)即可方便地查找所需的通讯录信息关键词J__a通讯录管理简易快捷
一、概述
1.需求分析随着计算机科学技术的发达、全世界经济的快速发展,人们的日益繁多的交往使得我们之间的通讯更加频繁,每个人的__方式会时常的更改,与之__的家人、朋友、同事等大量的通讯信息,通讯录能够为我们带来所需要的相关信息随着科学技术的发展,计算机领域不断取得新的研究成果计算机在代替和延伸脑力劳动方面发挥越来越重要的作用,不仅在工业方面而且在高校的信息化建设中也越来越离不开计算机通过计算机这个途径,__一个通讯录管理系统,用户可以方便的自己电脑的通讯录管理系统,来随时查阅所需要的信息,而摆脱传统式笔记本或者__簿等繁琐不快捷的方式通讯录管理系统主要是实现方便的管理通讯录管理,可以很好的进行存储用户__方式以及一些简单的个人信息的实用管理系统,大大减少了时间用于查找和处理等一些操作的过程
2.任务分析通讯录管理系统将会为个人信息__的现代化管理提供一个良好的平台,它也是针对人们之间大量信息处理工作而__的管理软件
二、总体设计
1.设计要求通讯录中包括一般通讯录中的基本信息,也需要实现普通的检索功能,通过将__人写入文件,程序执行时,需要从文件中导入数据,程序退出后再将数据文件保存到文件中
2.设计任务录入__人信息查询__人删除指定的__人信息退出通讯录管理系统
3.设计思路一个程序的主类是进入系统,进行图形交互的界面设计;通过建立使用ArrayList动态数组、结合文件输入与输出流的操作方式,进行添加、查找、删除等;通过按钮添加、查找、删除、退出的addActionListener方法实现__响应通过FileDescriptor在标准输入流上建立文件输入流,然后通过键盘的输入读取数据,并把读取的数据到指定的文件“readfromkeyboard.___”中然后再建立文件的输入流,通过FileDescriptor在标准输出流上建立的文件输出流,将文件中的数据显示在屏幕上
三、程序类
1.类AddressListSystem
1.1继承与JFrame类
1.2定义组件JLabeltitle=newJLabel通讯录管理;JLabelname=newJLabel姓名;JLabelzip=newJLabel____;JLabeladdress=newJLabel通信地址;JLabeltelephone=newJLabel__号码;JLabelmobile=newJLabel手机号码;JLabele__il=newJLabele__il;JTextFieldj___name=newJTextField;JTextFieldj___zip=newJTextField;JTextFieldj___addr=newJTextField;JTextFieldj___tel=newJTextField;JTextFieldj___mob=newJTextField;JTextFieldj___e__il=newJTextField;Fontfont=newFontTimersRo__nFont.BOLD40;JButtonjbtadd=newJButton添加;JButtonjbtfind=newJButton查找;JButtonjbtclear=newJButton清空;JButtonjbtexit=newJButton退出;ArrayListal=newArrayList;
1.3ArrayList动态数组ArrayList,能够进行动态的增加和减少元素和灵活设置数组的大小,它本身实现了IOCollection和Ilist接口ArrayListal=newArrayList;声明的同时创建了动态数组al后来程序中的添加、查找、删除、修改等都是通过对al操作来实现的
2.Note类
2.1实现Serializable接口为需要被序列化对象就是以类Note建立的对象实现Serializable接口,该接口没有要实现的方法,implementsSerializable只是为了标注该对象是可被系列化的,然后使用一个输出流来构造一个对象,接着使用O__ectOutputStream对象的writeO__ectO__ecto__方法就可以将参数为o__的对象写出,要恢复的话则用输入流
2.2定义类publicStringname;//姓名publicStringzip;//____publicStringaddress;//通信地址publicStringtelephone;//__号码publicStringmobile;//手机号码publicStringe__il;//e__ilpublicNote{}//默认的构造函数
四、程序的功能
1.录入__人信息
1.1__人信息表表1__人的信息表姓名____通信地址__号码手机号码e__il李永兰223532安徽省蚌埠龙子湖区6776__18__56222121910924543@__.com孙乃香300171天津市河东区12345618__5685078118418861@__.com李萍萍200030__市徐汇区23456718__5601887879790571@__.com陈臣050000河北省石家庄市34567818__5684770632748498@__.com黄智超231200安徽省合肥市肥西县4567__18__5606716241__68369@__.com刘姣2_____江苏省南京市345980132855265501948180943@__.com叶晔100010北京市东城区67__0518__56374581491641068@__.com进入程序运行界面后,单击按钮“添加”,依次将上表1中的__人添加进入文件“note.dat”
1.2实现添加__人方法jbtadd.addActionListenernewActionListener{publicvoidactionPerformedActionEvente{}};
2.查询__人
2.1查询的方法在姓名标签里输入“XXX”,单击下按钮查询,就在图形用户界面上显示出相应的信息
2.2实现查询__人方法jbtfind.addActionListenernewActionListener{publicvoidactionPerformedActionEvente{}};
3.删除指定的__人信息
3.1删除的方法先在姓名标签中写入“XXX”(需要删除人的姓名),单击按钮“查询”后,显示出的信息,然后单击按钮“清除”,将XXX__人的信息删除
3.2实现删除__人方法jbtclear.addActionListenernewActionListener{publicvoidactionPerformedActionEvente{}};
4.退出通讯录管理系统jbtexit.addActionListenernewActionListener{publicvoidactionPerformedActionEvente{}};
五、程序运行坏境
六、系统测试
1.通讯录管理系统运行图形用户界面
2.__人信息添加添加完每个__人的信息后,按钮“添加”是被激活状态的,若该__人已经添加过了,将会出现“错误提示”对话框,内容为“已经存在此记录”单击确定后,通讯录管理系统界面各个标签后的内容将自动清空若不小心忘记添加姓名标签内容,则会弹出“错误提示”对话框,内容为“无法添加名字为空的记录”
2.__人信息查找若制定查找姓名为“李永兰”的__人信息,在姓名标签文本里输入“李永兰”,单击按钮“查找”按钮,就出现如下界面若输入的姓名“XXX”,文件中不含有的话,系统会弹出一个“温馨提示”对话框,内容为“无此记录哦”单击“确定”按钮或者关闭,将返回图形用户界面出现以下界面
3.删除指定__人的信息若删除__人“李萍萍”的通讯录信息,首先在姓名标签文本里输入“李萍萍”,按下按钮“查找”按钮,显示李萍萍__人的信息;如下图图形用户界面然后鼠标单击“清空”按钮,就完成删除“李萍萍”__人的功能完成此步骤后,“清空”按钮被激活如下图图形用户界面所示
4.退出通讯录管理系统鼠标单击按钮“退出”,将关闭图形用户界面,并且退出系统
七、结论
1.结束语通过这次通讯录管理系统的设计,我了解了更多关于软件__的基础知识,了解了__一项软件的难度,但是此次的课程设计时间有限,而且本人才疏学浅,有待更加进行学习和提高通讯录管理软件__项目的实施执行过程中遇到了很多的难题,但总的说来还算成功,该软件的各种功能性能都能满足设计规格需求的要求,也能够基本满足用户的需求而事实上,该软件产品并不十分__没有能够实现对输入内容进行判别,检查出错误或是不合理规则的输入,并进行对异常进行处理;对__人信息保存到数据文件,并可以在下一次执行程序时继续使用;还可以给文件添加索引;还有一些创新的功能,比如为通讯录管理系统添加登录界面,连接数据文件进行登录验证等 本通讯录管理系统软件需要进一步改进和提高__技术,完善系统功能
2.致谢在本次课程设计过程中,从马程老师给的课程设计题目,我有认真的完成此次任务,但是其中出现了很多的问题,老师您也有细心地细心指导,使我对计算机编程有了更深刻的了解和认识,学到了在此表示衷心地感谢在整个过程中,我在图书馆图书室中查阅了大量的有关书籍,并借阅管理系统的资料和__,在自己的努力和朋友、同学的鼓励下,终于完成了本次课程设计在此也感谢朋友与同学的支持在为期两周的课程设计过程中,使我熟悉了J__a编程语言但也充分展现自己的不足方面还很多,希望在以后的学习生活当中努力学习,积极参与实践,提高编程的水平,为成为计算机人才打好基础
3.____
[1]宋波.J__a程序设计——基于JDK6和NetBeans实现.北京清华大学出版社,2013
[4]PatrickKeegan,LudovicChampenois等著,吴玉亮(译).NetBeansIDE中文版用户指南北京机械工业出版社,2006附程序源代码classNoteimplementsSerializable{publicStringname;publicStringzip;publicStringaddress;publicStringtelephone;publicStringmobile;publicStringe__il;publicNote{}}publicclassAddressListSystemextendsJFrame{JLabeltitle=newJLabel通讯录管理;JLabelname=newJLabel姓名;JLabelzip=newJLabel____;JLabeladdress=newJLabel通信地址;JLabeltelephone=newJLabel__号码;JLabelmobile=newJLabel手机号码;JLabele__il=newJLabele__il;JTextFieldj___name=newJTextField;JTextFieldj___zip=newJTextField;JTextFieldj___addr=newJTextField;JTextFieldj___tel=newJTextField;JTextFieldj___mob=newJTextField;JTextFieldj___e__il=newJTextField;Fontfont=newFontTimersRo__nFont.BOLD40;JButtonjbtadd=newJButton添加;JButtonjbtfind=newJButton查找;JButtonjbtclear=newJButton清空;JButtonjbtexit=newJButton退出;ArrayListal=newArrayList;AddressListSystemStrings{supers;Containercp=getContentPane;cp.setBackgroundColor.PINK;cp.setLayoutnull;title.setFontfont;title.setForegroundColor.cyan;title.setBounds1302030060;name.setBounds501007525;zip.setBounds501507525;address.setBounds502007525;telephone.setBounds502507525;mobile.setBounds503007525;e__il.setBounds503507525;j___name.setBounds15010010025;j___zip.setBounds15015010025;j___addr.setBounds15020025025;j___tel.setBounds15025015025;j___mob.setBounds15030015025;j___e__il.setBounds15035025025;jbtadd.setBounds504007525;jbtfind.setBounds1504007525;jbtclear.setBounds2504007525;jbtexit.setBounds3504007525;jbtadd.addActionListenernewActionListener{publicvoidactionPerformedActionEvente{ifj___name.getText.equalsIgnoreCase{JOptionPane.showMessageDialognull无法添加名字为空的记录错误提示JOptionPane.INFOR__TION_MESSAGE;j___name.setText;j___zip.setText;j___addr.setText;j___tel.setText;j___mob.setText;j___e__il.setText;return;}Notenote=newNote;note.name=j___name.getText;note.zip=j___zip.getText;note.address=j___addr.getText;note.telephone=j___tel.getText;note.mobile=j___mob.getText;note.e__il=j___e__il.getText;try{O__ectInputStreamin=newO__ectInputStreamnewFileInputStreamnote.dat;al=ArrayListin.readO__ect;in.close;}catchEx__ptionex{}try{O__ectOutputStreamout=newO__ectOutputStreamnewFileOutputStreamnote.dattrue;Notetemp=newNote;inti;fori=0;ial.size;i++{temp=Noteal.geti;break;}if!al.isEmptyi!=al.size{JOptionPane.showMessageDialognull已经存在此记录错误提示JOptionPane.INFOR__TION_MESSAGE;}else{al.addnote;out.writeO__ectal;}out.close;}catchEx__ptionex{}j___name.setText;j___zip.setText;j___addr.setText;j___tel.setText;j___mob.setText;j___e__il.setText;}};jbtfind.addActionListenernewActionListener{publicvoidactionPerformedActionEvente{try{O__ectInputStreamin=newO__ectInputStreamnewFileInputStreamnote.dat;al=ArrayListin.readO__ect;in.close;}catchEx__ptionex{}Notetemp=newNote;inti;fori=0;ial.size;i++{temp=Noteal.geti;break;}if!al.isEmptyi!=al.size{j___zip.setTexttemp.zip;j___addr.setTexttemp.address;j___tel.setTexttemp.telephone;j___mob.setTexttemp.mobile;j___e__il.setTexttemp.e__il;}else{j___name.setText;j___zip.setText;j___addr.setText;j___tel.setText;j___mob.setText;j___e__il.setText;JOptionPane.showMessageDialognull无此记录哦温馨提示JOptionPane.INFOR__TION_MESSAGE;}}};jbtclear.addActionListenernewActionListener{publicvoidactionPerformedActionEvente{try{O__ectOutputStreamout=newO__ectOutputStreamnewFileOutputStreamnote.dat;al.clear;out.close;}catchEx__ptionex{}j___name.setText;j___zip.setText;j___addr.setText;j___tel.setText;j___mob.setText;j___e__il.setText;}};jbtexit.addActionListenernewActionListener{publicvoidactionPerformedActionEvente{try{System.exit1;}catchEx__ptionex{}}};cp.addtitle;cp.addname;cp.addzip;cp.addaddress;cp.addtelephone;cp.addmobile;cp.adde__il;cp.addj___name;cp.addj___zip;cp.addj___addr;cp.addj___tel;cp.addj___mob;cp.addj___e__il;cp.addjbtadd;cp.addjbtfind;cp.addjbtclear;cp.addjbtexit;}publicstaticvoid__inString[]args{AddressListSystemals=newAddressListSystem通讯录管理系统;als.addWindowListenernewWindowAdapter{@OverridepublicvoidwindowClosingWindowEvente{System.exit0;}};als.setSize500550;als.setVisibletrue;}}。