版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、传播优秀word版文档 ,希望对您有帮助,可双击去除!java 程序设计课程设计专业班级:2013级计算机科学与技术一班 目 录摘要1一、概述21.需求分析22.任务分析3二、总体设计31.设计要求32.设计任务33.设计思路4三、程序类41.类addresslistsystem41.1 继承与jframe类41.2 定义组件41.3 arraylist52.note类52.1实现serializable接口52.2定义类5四、程序的功能51.录入联系人信息51.1联系人信息表51.2实现添加联系人方法62.查询联系人62.1查询的方法62.2实现查询联系人方法63.删除指定的联系人信息63.
2、1删除的方法63.2实现删除联系人方法64.退出通讯录管理系统7五、程序运行坏境7六、系统测试71.通讯录管理系统运行图形用户界面72.联系人信息添加82.联系人信息查找93.删除指定联系人的信息104.退出通讯录管理系统12七、结论121.结束语122.致谢133.参考文献13附:14程序源代码:14摘要随着当今世界经济的快速发展,通讯技术日益成熟,个人间的联系增加,个人对自己联系人信息的管理成为一个重要的环节。与此同时,通讯录便产生了。形形色色的关于通讯录对的越来越方便着人们的生活。通讯录管理软件使用于同学、朋友等日常生活的联系人进行的相关的信息的编辑功能,便于用户随时查找所需要的联系人的
3、所有信息。该通讯录管理系统十分便捷,用户可以通过它方便地进行添加、查找、修改、删除等基本通讯录管理所需的功能。软件操作窗口平时可以隐藏于屏幕边缘,用户鼠标移至该处及显示操作界面,用只需输入关键词(联系人姓名)即可方便地查找所需的通讯录信息。关键词 java 通讯录管理 简易快捷一、概述1.需求分析随着计算机科学技术的发达、全世界经济的快速发展,人们的日益繁多的交往使得我们之间的通讯更加频繁,每个人的联系方式会时常的更改,与之联系的家人、朋友、同事等大量的通讯信息,通讯录能够为我们带来所需要的相关信息。随着科学技术的发展,计算机领域不断取得新的研究成果。计算机在代替和延伸脑力劳动方面发挥越来越重
4、要的作用,不仅在工业方面而且在高校的信息化建设中也越来越离不开计算机。通过计算机这个途径,开发一个通讯录管理系统,用户可以方便的自己电脑的通讯录管理系统,来随时查阅所需要的信息,而摆脱传统式笔记本或者电话簿等繁琐不快捷的方式。通讯录管理系统主要是实现方便的管理通讯录管理,可以很好的进行存储用户联系方式以及一些简单的个人信息的实用管理系统,大大减少了时间用于查找和处理等一些操作的过程。2.任务分析通讯录管理系统将会为个人信息联系的现代化管理提供一个良好的平台,它也是针对人们之间大量信息处理工作而开发的管理软件,每个人的个人信息的统计和录入功能,随着人与人之间的交往更加频繁,利用jdk1.7.0和
5、netbeans6.9.1软件,设计并实现图形用户界面,其中管理自己联系人信息管理,以提高我们办事效率为目的,经过多方面的思考与查询,设计出通讯录管理系统相应的功能。通讯录管理包含对联系人信息输入、查询、维护和输出等功能。二、总体设计1.设计要求通讯录中包括一般通讯录中的基本信息,也需要实现普通的检索功能,通过将联系人写入文件,程序执行时,需要从文件中导入数据,程序退出后再将数据文件保存到文件中。2.设计任务录入联系人信息查询联系人删除指定的联系人信息退出通讯录管理系统3.设计思路一个程序的主类是进入系统,进行图形交互的界面设计;通过建立使用arraylist动态数组、结合文件输入与输出流的操
6、作方式,进行添加、查找、删除等;通过按钮添加、查找、删除、退出的addactionlistener()方法实现事件响应。通过filedescriptor在标准输入流上建立文件输入流,然后通过键盘的输入读取数据,并把读取的数据到指定的文件“readfromkeyboard.txt”中,然后再建立文件的输入流,通过filedescriptor在标准输出流上建立的文件输出流,将文件中的数据显示在屏幕上。三、程序类1.类addresslistsystem1.1 继承与jframe类通过导入javax.swing.*,然后才能使用jframe类,主类继承使用1.2 定义组件jlabel title=ne
7、w jlabel("通讯录管理");jlabel name=new jlabel("姓名");jlabel zip=new jlabel("邮政编码");jlabel address=new jlabel("通信地址");jlabel telephone=new jlabel("电话号码");jlabel mobile=new jlabel("手机号码");jlabel email=new jlabel("email");jtextfield jtxtna
8、me=new jtextfield();jtextfield jtxtzip=new jtextfield();jtextfield jtxtaddr=new jtextfield();jtextfield jtxttel=new jtextfield();jtextfield jtxtmob=new jtextfield();jtextfield jtxtemail=new jtextfield();font font=new font("timersroman",font.bold,40);jbutton jbtadd=new jbutton("添加"
9、;);jbutton jbtfind=new jbutton("查找");jbutton jbtclear=new jbutton("清空");jbutton jbtexit=new jbutton("退出");arraylist al=new arraylist();1.3 arraylist动态数组arraylist,能够进行动态的增加和减少元素和灵活设置数组的大小,它本身实现了iocollection和ilist接口。arraylist al=new arraylist();声明的同时创建了动态数组al,后来程序中的添加、查找、
10、删除、修改等都是通过对al操作来实现的。2.note类2.1实现serializable接口为需要被序列化对象就是以类note建立的对象实现serializable接口,该接口没有要实现的方法,implements serializable只是为了标注该对象是可被系列化的,然后使用一个输出流来构造一个对象,接着使用objectoutputstream对象的writeobject(object obj)方法就可以将参数为obj的对象写出,要恢复的话则用输入流。2.2定义类public string name;/姓名 public string zip;/邮政编码 public string ad
11、dress;/通信地址 public string telephone;/电话号码 public string mobile;/手机号码 public string email;/email public note()/默认的构造函数四、程序的功能1.录入联系人信息1.1联系人信息表表1 联系人的信息表姓名邮政编码通信地址电话号码手机号码email李永兰223532安徽省蚌埠龙子湖区677689188956222121910924543孙乃香300171天津市河东区12345618895685078118418861李萍萍200030上海市徐汇区234567188956018878797905
12、71陈臣050000河北省石家庄市34567818895684770632748498黄智超231200安徽省合肥市肥西县456789188956067162418968369刘姣210000江苏省南京市345980132855265501948180943叶晔100010北京市东城区678905188956374581491641068进入程序运行界面后,单击按钮“添加”,依次将上表1中的联系人添加进入文件“note.dat”。1.2实现添加联系人方法jbtadd.addactionlistener(new actionlistener()public void actionperforme
13、d(actionevent e);2.查询联系人2.1查询的方法在姓名标签里输入“xxx”,单击下按钮查询,就在图形用户界面上显示出相应的信息。2.2实现查询联系人方法jbtfind.addactionlistener(new actionlistener()public void actionperformed(actionevent e);3.删除指定的联系人信息3.1删除的方法先在姓名标签中写入“xxx”(需要删除人的姓名),单击按钮“查询”后,显示出的信息,然后单击按钮“清除”,将xxx联系人的信息删除。3.2实现删除联系人方法jbtclear.addactionlistener(ne
14、w actionlistener() public void actionperformed(actionevent e);4.退出通讯录管理系统jbtexit.addactionlistener(new actionlistener() public void actionperformed(actionevent e);五、程序运行坏境windows 7操作系统、java jdk1.7.0_0.02和netbeans6.9.1集成开发环境六、系统测试1.通讯录管理系统运行图形用户界面2.联系人信息添加添加完每个联系人的信息后,按钮“添加”是被激活状态的,若该联系人已经添加过了,将会出现“错
15、误提示”对话框,内容为“已经存在此记录”单击确定后,通讯录管理系统界面各个标签后的内容将自动清空。若不小心忘记添加姓名标签内容,则会弹出“错误提示”对话框,内容为“无法添加名字为空的记录”。2.联系人信息查找若制定查找姓名为“李永兰”的联系人信息,在姓名标签文本里输入“李永兰”,单击按钮“查找”按钮,就出现如下界面:若输入的姓名“xxx”,文件中不含有的话,系统会弹出一个“温馨提示”对话框,内容为“无此记录哦”。单击“确定”按钮或者关闭,将返回图形用户界面。出现以下界面:3.删除指定联系人的信息若删除联系人“李萍萍”的通讯录信息,首先在姓名标签文本里输入“李萍萍”,按下按钮“查找”按钮,显示李
16、萍萍联系人的信息;如下图图形用户界面:然后鼠标单击“清空”按钮,就完成删除“李萍萍”联系人的功能。完成此步骤后,“清空”按钮被激活。如下图图形用户界面所示:4.退出通讯录管理系统鼠标单击按钮“退出”,将关闭图形用户界面,并且退出系统。七、结论1.结束语通过这次通讯录管理系统的设计,我了解了更多关于软件开发的基础知识,了解了开发一项软件的难度,但是此次的课程设计时间有限,而且本人才疏学浅,有待更加进行学习和提高。通讯录管理软件开发项目的实施执行过程中遇到了很多的难题,但总的说来还算成功,该软件的各种功能性能都能满足设计规格需求的要求,也能够基本满足用户的需求。而事实上,该软件产品并不十分完美。没
17、有能够实现:对输入内容进行判别,检查出错误或是不合理规则的输入,并进行对异常进行处理;对联系人信息保存到数据文件,并可以在下一次执行程序时继续使用;还可以给文件添加索引;还有一些创新的功能,比如为通讯录管理系统添加登录界面,连接数据文件进行登录验证等。 本通讯录管理系统软件需要进一步改进和提高开发技术,完善系统功能。2.致谢在本次课程设计过程中,从马程老师给的课程设计题目,我有认真的完成此次任务,但是其中出现了很多的问题,老师您也有细心地细心指导,使我对计算机编程有了更深刻的了解和认识,学到了在此表示衷心地感谢。在整个过程中,我在图书馆图书室中查阅了大量的有关书籍,并借阅管理系统的资
18、料和网站,在自己的努力和朋友、同学的鼓励下,终于完成了本次课程设计。在此也感谢朋友与同学的支持。在为期两周的课程设计过程中,使我熟悉了java编程语言,但也充分展现自己的不足方面还很多,希望在以后的学习生活当中努力学习,积极参与实践,提高编程的水平,为成为计算机人才打好基础。3.参考文献1宋波.java程序设计基于jdk6和netbeans实现.北京:清华大学出版社,20132宋波.java应用开发教程.北京:电子工业出版社,20023宋波,董晓梅.java应用设计.北京:人民邮电出版社,20024patrick keegan,ludovic champenois等著,吴玉亮(译).netbe
19、ans ide中文版用户指南。北京:机械工业出版社,20065朗波.java语言程序设计.北京:清华大学出版社,2005附:程序源代码:import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.io.*;import java.util.*;class note implements serializable public string name; public string zip; public string address; public string telephone; public stri
20、ng mobile; public string email; public note()public class addresslistsystem extends jframe jlabel title=new jlabel("通讯录管理");jlabel name=new jlabel("姓名");jlabel zip=new jlabel("邮政编码");jlabel address=new jlabel("通信地址");jlabel telephone=new jlabel("电话号码"
21、;);jlabel mobile=new jlabel("手机号码");jlabel email=new jlabel("email");jtextfield jtxtname=new jtextfield();jtextfield jtxtzip=new jtextfield();jtextfield jtxtaddr=new jtextfield();jtextfield jtxttel=new jtextfield();jtextfield jtxtmob=new jtextfield();jtextfield jtxtemail=new jtex
22、tfield();font font=new font("timersroman",font.bold,40);jbutton jbtadd=new jbutton("添加");jbutton jbtfind=new jbutton("查找");jbutton jbtclear=new jbutton("清空");jbutton jbtexit=new jbutton("退出");arraylist al=new arraylist();addresslistsystem(string s)su
23、per(s);container cp=getcontentpane(); cp.setbackground(color.pink);cp.setlayout(null);title.setfont(font); title.setforeground(color.cyan);title.setbounds(130,20,300,60);name.setbounds(50,100,75,25);zip.setbounds(50,150,75,25);address.setbounds(50,200,75,25);telephone.setbounds(50,250,75,25);mobile.
24、setbounds(50,300,75,25);email.setbounds(50,350,75,25);jtxtname.setbounds(150,100,100,25);jtxtzip.setbounds(150,150,100,25);jtxtaddr.setbounds(150,200,250,25);jtxttel.setbounds(150,250,150,25);jtxtmob.setbounds(150,300,150,25);jtxtemail.setbounds(150,350,250,25);jbtadd.setbounds(50,400,75,25);jbtfind
25、.setbounds(150,400,75,25);jbtclear.setbounds(250,400,75,25);jbtexit.setbounds(350,400,75,25);jbtadd.addactionlistener(new actionlistener()public void actionperformed(actionevent e)if(jtxtname.gettext().equalsignorecase("")joptionpane.showmessagedialog(null,"无法添加名字为空的记录","错误提
26、示",joptionpane.information_message);jtxtname.settext("");jtxtzip.settext("");jtxtaddr.settext("");jtxttel.settext("");jtxtmob.settext("");jtxtemail.settext("");return; note note=new note(); =jtxtname.gettext(); note.zip=jtxtzi
27、p.gettext(); note.address=jtxtaddr.gettext(); note.telephone=jtxttel.gettext(); note.mobile=jtxtmob.gettext(); note.email=jtxtemail.gettext(); try objectinputstream in=new objectinputstream(new fileinputstream("note.dat"); al=(arraylist)in.readobject(); in.close(); catch(exception ex) syst
28、em.out.println( "添加信息时文件输入有误哦"); try objectoutputstream out=new objectoutputstream(new fileoutputstream("note.dat",true); note temp=new note(); int i; for(i=0;i<al.size();i+)temp=(note)al.get(i);if(.equalsignorecase(jtxtname.gettext() break; if(!al.isempty()&&
29、i!=al.size()joptionpane.showmessagedialog(null,"已经存在此记录","错误提示",joptionpane.information_message); else al.add(note); out.writeobject(al); out.close(); catch(exception ex) system.out.println("添加信息时文件输出有误哦"); jtxtname.settext(""); jtxtzip.settext("");
30、jtxtaddr.settext(""); jtxttel.settext(""); jtxtmob.settext(""); jtxtemail.settext(""); ); jbtfind.addactionlistener(new actionlistener() public void actionperformed(actionevent e)try objectinputstream in=new objectinputstream(new fileinputstream("note.dat
31、"); al=(arraylist)in.readobject(); in.close(); catch(exception ex) system.out.println("查询时文件打开有误哦"); note temp=new note(); int i; for(i=0;i<al.size();i+) temp=(note)al.get(i); if(.equalsignorecase(jtxtname.gettext() break; if(!al.isempty()&&i!=al.size() jtxtzip.set
32、text(temp.zip); jtxtaddr.settext(temp.address); jtxttel.settext(temp.telephone); jtxtmob.settext(temp.mobile); jtxtemail.settext(temp.email); else jtxtname.settext(""); jtxtzip.settext(""); jtxtaddr.settext(""); jtxttel.settext(""); jtxtmob.settext(""); jtxtemail.settext(""); joptionpane.showmessagedialog(null,"无此记录哦","温馨提示",joptionpane.information_message); ); jbtclear.addactionlistener(new actionlistener() public void actionperformed(actionevent e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年永修县面向社会公开招聘社区专职网格员【9人】笔试备考题库及答案详解
- 2026年辽宁锦州水兴实业有限公司计划招录20人笔试参考题库及答案详解
- 现金流优化与成本控制合同
- 生态旅游导游服务合作协议
- 2026新疆巴音郭楞蒙古自治州面向社会招聘中学教师40人笔试备考题库及答案详解
- 五力模型企业咨询服务协议
- 口腔护理行业健康咨询服务协议
- 跨境电商市场调研服务协议2026版
- 2026河北中医药大学招聘管理助理、教学助理21人笔试备考试题及答案详解
- 2026年河南省社区网格事务协理员专项计划招聘10000人笔试备考题库及答案详解
- Cook球囊放置操作规程
- 安全三同时知识培训
- 基于主题意义的小学英语单元整体教学 论文
- 钳工(技师)职业技能等级认定实操试题
- 人教版七年级地理上册 (多变的天气)天气与气候课件
- 汉语国际教育(中国普通高等学校本科专业)
- 淮北长源煤矸石综合利用有限公司锅炉烟气治理超低排放改造项目环境影响报告表
- GB/T 13871.1-2022密封元件为弹性体材料的旋转轴唇形密封圈第1部分:尺寸和公差
- GB/T 9738-2008化学试剂水不溶物测定通用方法
- GB/T 22719.2-2008交流低压电机散嵌绕组匝间绝缘第2部分:试验限值
- 2023年通化梅河口市财政局系统事业单位招聘笔试题库及答案解析
评论
0/150
提交评论