软件学院课程设计报告书课程名称面向对象程序设计设计题目个人通讯录管理专业班级学号姓名指导教师2014年6月目录1设计时间...............................................12设计目的...............................................13设计题目...............................................14设计任务...............................................15设计内容...............................................15.1整体设计思路.........................................15.2程序运行流程.........................................25.3程序代码.............................................26功能模块实现..........................................117运行与测试............................................127.1进入主界面..........................................127.2选择功能模块........................................128总结与展望............................................14参考文献................................................15成绩评定.................................错误!未定义书签。11设计时间2014年6月16日至2014年6月20日2设计目的通过实践加深对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高自身的应用能力,为以后团队合作开发更大的程序打下基础。也加强了对计算机嵌入式的学习。3设计题目个人通讯录管理4设计任务编写个人通讯录管理软件(用文件存储)。其主要提供如下功能是实现记录的增、删、查、显示所有、备份和退出记录,通讯录记录信息包括:姓名,电话等信息,可以采用数据库或文件进行存储5设计内容5.1整体设计思路首先建一个tongxunlu包,再在包里面建立七个类,分别实现通讯录的增、删、查、显示全部和备份,将GUI和输入输出流结合,用图形界面和按钮实现对通讯录的操作,然后将通讯录按指定格式存入D盘的Contacts文本当中,最后进入eclipse运行,进入指定界面后点击按钮进行后续操作,个功能实现后,点击退出按钮退出整个系统。(1)Test类是主程序,用于运行整个程序(2)tongxun类是主窗口类,只实现一个方法那就是退出,其他方法在其他类里面实现2(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;publicclasstongxunextendsJFrameimplementsActionListener3{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);4}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;5Insert(){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();}}}6packagetongxunlu;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(请输入