java个人通讯录程序设计_第1页
java个人通讯录程序设计_第2页
java个人通讯录程序设计_第3页
java个人通讯录程序设计_第4页
java个人通讯录程序设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件学院课程设计报告书课程名称面向对象程序设计设计题目个人通讯录管理专业班级学号姓名指导教师2014年6月目录TOC\o"1-2"\h\z\u1设计时间 设计时间2014年6月16日至2014年6月20日2设计目的通过实践加深对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高自身的应用能力,为以后团队合作开发更大的程序打下基础。也加强了对计算机嵌入式的学习。3设计题目个人通讯录管理4设计任务编写个人通讯录管理软件(用文件存储)。其主要提供如下功能是实现记录的增、删、查、显示所有、备份和退出记录,通讯录记录信息包括:姓名,电话等信息,可以采用数据库或文件进行存储5设计内容5.1整体设计思路首先建一个tongxunlu包,再在包里面建立七个类,分别实现通讯录的增、删、查、显示全部和备份,将GUI和输入输出流结合,用图形界面和按钮实现对通讯录的操作,然后将通讯录按指定格式存入D盘的Contacts文本当中,最后进入eclipse运行,进入指定界面后点击按钮进行后续操作,个功能实现后,点击退出按钮退出整个系统。(1)Test类是主程序,用于运行整个程序(2)tongxun类是主窗口类,只实现一个方法那就是退出,其他方法在其他类里面实现(3)Insert是增加记录的窗口和方法类(4)Display这个是显示全部记录的窗口和方法类(5)Select这是查找记录的窗口和方法类(6)Copy这个是实现备份功能的窗口和类(7)Delete这是实现删除功能和器窗口的类,其实是删除功能是先读取出所有数据存储在数组里(不存储要删除数据)再写进原本的txt文件当中去覆盖掉原本文5.2程序运行流程首先运行程序,进入通讯录系统后有六个并列操作,点击增加记录按钮进入记录界面确定就增加成功,否则退回主界面,同理可对删除记录,查询记录,显示所有记录进行操作,退出按钮点击后退出整个系统,程序结束。5.3程序代码packagetongxunlu;publicclassTest{ publicstaticvoidmain(Stringargs[]){ tongxunrun=newtongxun(); }}//该类用于启动这个程序,主方法。packagetongxunlu;importjava.io.*;importjava.awt.Button;//按钮importjava.awt.Frame;//容器的一种(window的子类)importjava.awt.Label;//标签importjava.awt.TextField;//单行文本输入框importjava.awt.GridLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.print.attribute.standard.Copies;importjavax.swing.JFrame;publicclasstongxunextendsJFrameimplementsActionListener{ privateTextFieldtext_1;//单行文本输入框(姓名) privateTextFieldtext_2;//单行文本输入框(电话) privateRandomAccessFileraf; publictongxun(){ JFramemainFrame=newJFrame("通讯录"); mainFrame.setLocation(600,400); mainFrame.setSize(230,200); mainFrame.setLayout(null); Buttonbt1=newButton("增加记录"); mainFrame.add(bt1); bt1.setLocation(10,30); bt1.setSize(80,25); bt1.addActionListener(this); Buttonbt2=newButton("删除记录"); mainFrame.add(bt2); bt2.setLocation(120,30); bt2.setSize(80,25); bt2.addActionListener(this); Buttonbt3=newButton("显示所有记录"); mainFrame.add(bt3); bt3.setLocation(120,65); bt3.setSize(80,25); bt3.addActionListener(this); Buttonbt4=newButton("查询记录"); mainFrame.add(bt4); bt4.setLocation(10,65); bt4.setSize(80,25); bt4.addActionListener(this); Buttonbt5=newButton("文件备份"); mainFrame.add(bt5); bt5.setLocation(120,100); bt5.setSize(80,25); bt5.addActionListener(this); Buttonbt6=newButton("退出"); mainFrame.add(bt6); bt6.setLocation(10,100); bt6.setSize(80,25); bt6.addActionListener(this); mainFrame.setVisible(true); } publicvoidactionPerformed(ActionEvente){ Stringbt=e.getActionCommand(); if(bt.equals("增加记录")){ Insertm=newInsert(); } if(bt.equals("删除记录")){ Deleten=newDelete(); } if(bt.equals("查询记录")){ Selecta=newSelect(); } if(bt.equals("显示所有记录")){ Displayb=newDisplay(); } if(bt.equals("文件备份")){ Copiesv=newCopies(getDefaultCloseOperation()); } if(bt.equals("退出")){ System.exit(0); } }}packagetongxunlu;importjava.io.*;importjava.awt.Button;//按钮importjava.awt.Label;//标签importjava.awt.TextField;//单行文本输入框importjava.awt.GridLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JFrame;classInsertextendsJFrameimplementsActionListener{ publicTextFieldtext_1; publicTextFieldtext_2; Insert(){ setTitle("增加记录"); setSize(300,150); setLocation(600,400); setLayout(newGridLayout(3,2)); text_1=newTextField(); text_2=newTextField(); Labellab_1=newLabel("请输入联系人姓名:"); Labellab_2=newLabel("请输入联系人手机号码:"); Buttonbt7=newButton("确定"); Buttonbt8=newButton("清空"); bt7.addActionListener(this); bt8.addActionListener(this); add(lab_1);add(text_1); add(lab_2);add(text_2); add(bt7);add(bt8); setVisible(true); } publicvoidactionPerformed(ActionEvente){ Stringbt=e.getActionCommand(); if(bt.equals("确定")){try{ FileWriterraf=newFileWriter("D:/Contacts.txt",true); Strings1=text_1.getText(); Strings2=text_2.getText(); raf.write(s1+"\r\n"); raf.write(s2+"\r\n"); text_1.setText(""); text_2.setText(""); raf.close(); } catch(IOExceptiond){ System.out.println(d); } } if(bt.equals("清空")){text_1.setText(""); text_2.setText("");} }}packagetongxunlu;importjava.io.*;importjava.awt.Button;//按钮importjava.awt.Label;//标签importjava.awt.TextField;//单行文本输入框importjava.awt.GridLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JFrame;classSelectextendsJFrameimplementsActionListener{ publicStrings3,s4; publicTextFieldtext_1; publicTextFieldtext_2; Select(){ setTitle("查询记录"); setSize(300,150); setLocation(600,400); setLayout(newGridLayout(3,2)); text_1=newTextField(); text_2=newTextField(); Labellab_1=newLabel("请输入要查找人的姓名:"); Labellab_2=newLabel("该联系人手机号码是:"); Buttonbt11=newButton("确定"); Buttonbt12=newButton("清空"); bt11.addActionListener(this); bt12.addActionListener(this); add(lab_1); add(text_1); add(lab_2); add(text_2); add(bt11); add(bt12); setVisible(true); } publicvoidactionPerformed(ActionEvente){ Stringbt=e.getActionCommand(); if(bt.equals("确定")){ StringfileName="D:/Contacts.txt"; Stringline; try{ BufferedReaderin=newBufferedReader(newFileReader(fileName)); line=in.readLine(); while(line!=null){ if(line.equals(text_1.getText())){ System.out.println("无此人"); s3=line; s4=in.readLine(); text_1.setText(""+s3); text_2.setText(""+s4); } line=in.readLine(); } in.close(); }catch(IOExceptiond){ System.out.println(d); } } if(bt.equals("清空")){ text_1.setText(""); text_2.setText(""); } }}packagetongxunlu;importjava.io.*;importjava.awt.TextField;//单行文本输入框importjava.awt.Graphics;importjavax.swing.JFrame;classDisplayextendsJFrame{ publicTextFieldtext_1; Strings; Display(){ setTitle("显示所有记录"); setSize(300,150); setLocation(600,400); setVisible(true); } publicvoidpaint(Graphicsg){ super.paint(g); StringfileName="D:/Contacts.txt"; Stringline; inti; i=0; try{ BufferedReaderin=newBufferedReader(newFileReader(fileName)); line=in.readLine(); while(line!=null){ i=i+1; g.drawString("姓名:"+line,10,40*i); g.drawString("电话:"+in.readLine(),140,40*i); line=in.readLine(); } in.close(); }catch(IOExceptiond){ System.out.println(d); } }}importjava.awt.Graphics;importjava.awt.TextField;//单行文本输入框importjava.io.BufferedReader;importjava.io.FileReader;importjava.io.FileWriter;importjava.io.IOException;importjavax.swing.JFrame;classCopyextendsJFrame{ publicTextFieldtext_1; Copy(){ setTitle("文件备份"); setSize(300,150); setLocation(600,400); setVisible(true); String[]copy=newString[10000]; inti=0,a; StringfileName="D:\\Contacts.txt"; try{ BufferedReaderin=newBufferedReader(newFileReader(fileName)); copy[i]=in.readLine(); while(copy[i]!=null){ i++; copy[i]=in.readLine(); } in.close(); }catch(IOExceptiond){ System.out.println(d); } StringwenJan="E:\\备份.txt"; try{ FileWriterwriter=newFileWriter(wenJan); for(a=0;a<i;a++){ writer.write(copy[a]+"\r\n"); } writer.close(); }catch(IOExceptione1){ } } publicvoidpaint(Graphicsg){ super.paint(g); g.drawString("已经备份到(E:\\备份.txt)",40,40); }}packagetongxunlu;importjava.awt.Button;//按钮importjava.awt.GridLayout;importjava.awt.Label;//标签importjava.awt.TextField;//单行文本输入框importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.io.BufferedReader;importjava.io.FileReader;importjava.io.FileWriter;importjava.io.IOException;importjavax.swing.JFrame;classDeleteextendsJFrameimplementsActionListener{ publicTextFieldtext_1; publicTextFieldtext_2; Delete(){ setTitle("删除记录"); setSize(350,150); setLocation(600,400); setLayout(newGridLayout(3,2)); text_1=newTextField(); text_2=newTextField(); Labellab_3=newLabel("请输入要删除联系人姓名:"); Labellab_4=newLabel("是否删除成功"); Buttonbt9=newButton("确定"); Buttonbt10=newButton("清空"); bt9.addActionListener(this); bt10.addActionListener(this); add(lab_3); add(text_1); add(lab_4); add(text_2); add(bt9); add(bt10); setVisible(true); } publicvoidactionPerformed(ActionEvente){ Stringbt=e.getActionCommand(); if(bt.equals("确定")){ String[]copy=newString[10000]; inti=0,a,t=0; Stringb; StringfileName="D:/Contacts.txt"; try{ BufferedReaderin=newBufferedReader(newFileReader(fileName)); b=in.readLine(); while(b!=null){ if(b.equals(text_1.getText())){ in.readLine(); text_2.setText("成功"); t=1; }else{ i++; copy[i]=b; } b=in.readLine(); } if(t==0){ text_2.setText("查找不到哪个人删除失败"); } in.close(); }catch(IOExceptiond){ System.out.println(d); } String重写文件="D:/Contacts.txt"; try{ FileWriterwriter=newFileWriter(重写文件); for(a=1;a<i+1;a++){ writer.write(copy[a]+"\r\n"); } writer.close(); }catch(IOExceptione1){ } } if(bt.equals("清空")){ text_1.setText(""); text_2.setText(""); } }}6功能模块实现首先要实现增加记录的功能请点击增加记录按钮,在弹出的对话框中输入要增加人的姓名和电话等信息然后点击确定。此时输入的姓名和电话将按照每个信息一行的格式存储进Contacts.txt文件中。如果想将输入的数据清空请点击清空按键,这样就可以清空上面两条输入栏内的数据。如果要实现查询记录的功能请点击查询记录按钮,在弹出的对话框中输入要查找人的姓名,并点击确定,该被查询人的电话号码会出现在“该联系人手机号码是”的右边的输入栏内。如果查找不到相关人物姓名的话,下面的输入栏没有反应。若要实现删除记录功能请点击删除记录按钮,在淡出对话框中输入要删除人的姓名,如果删除成功会在下一栏输入框中显示成功,如果查找不到该人物会在该栏中显示“查找不到哪个人删除失败”。显示所有记录按钮点击之后就会生成对话框显示出当前存储的所有数据。文件备份按钮点击之后就会自动生成一个和G:\备份.txt所存储数据一摸一样的G:\备份.txt文件7运行与测试7.1进入主界面在eclipse中将程序代码输入,然后点击运行,会出现如下界面,退出后会将数据清空,然后释放内存空间图7-1增加记录图7.2选择功能模块(1)增加记录点击增加记录按钮会出现增加记录界面,在联系人中输入姓名和电话号码,点击确定按钮,次联系人就保存了。增加界面如下所示图7-2增加记录图(2)删除记录在主界面中点击删除记录按钮,会出现删除记录的界面,输入要删除的联系人名字,然后点击确定,该联系人就删除了

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论