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

下载本文档

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

文档简介

java个人通讯录课程设计报告内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)题院题院专班级别个人通信录管理信息系统的设计与实现院(系)别信息科学与电气工程学院 班 学号姓名指导教师时间2014-08-25—2014-09-5课程设计任务书 个人通讯录管理系统信息科学与电气工程学院 计算机科学与技术学生姓名学号 08月25日至09月5日学号 08月指导教师(签字)院长(签字)年月日目的:通过本题目的设计,加深对面向对象程序设计技术的理解,掌握利用数据库编写小型程序的基本过程和方法。1)利用面向对象编程技术,完成个人信息的存储管理;2)选择系统开发平台(JAVA或.NET)和软件架构(C/S、单机版);3)要求系统能够对联系人的系统进行录入、查询、编辑、导入和导出三、设计完成后提交的文件和图表程序流程图程序开始菜单界面菜单界面增加界数据功四、进程安排五、主要参考资料成绩评定表作品成绩报告成绩口试(答辩)成绩总评成绩课程设计概述后进行的一次全面的综合练习旨在巩固和加深我们对java语言的基本知识的理解软件设计,掌握书写程序设计说明文档的能力,提高运用java语言解决实际问题设计一个通讯录管理软件,要求如下:增加记录、删除记录、显示所有记录、查询记录、文件备份、退出。通讯录(1)通讯录的每一条信息包括姓名,单位,电话!(可用数组或数据库);(2)输入功能:可以一次完成若干条信息的输入;(3)显示功能:完成全部通讯录信息的显示(一屏最多显示10条,超过十条应能够自动分屏显示);(4)查找功能:完成按姓名查找通讯信息;(5)删除功能:完成按姓名删除通讯信息;(6)应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!程序分为多个小模块,通过调用实现各种功能,增强了程序的可建设性。3.设计思想:个人通讯录件的功能模块有:(1)提供登陆界面,方便用户进入,满足需求;(2)添加:可以添加通讯录记录,依次输入姓名、性别、出生日期、移动电话、固定电话、MSN/QQ、公司地址、E-Mail地址、家庭住址、组别、备注后,会(3)显示:可以以表格形式输出所有通讯录里的记录;(4)查询:可以用姓名查询;(5)修改:输入欲修改的那个人的名字后,再依次输入姓名、性别、出生日期、移动电话、固定电话、MSN/QQ、公司地址、E-Mail地址、家庭住址、组别、(6)删除:可以直接删除多余的通讯录记录;(7)帮助:可以在帮助里面修改用户密码;(8)导出数据库:可以将数据库以文本txt格式导出。程序分为多个小模块,通过调用实现各种功能,增强了程序的可建设性。累加累加重新重累加累加重新重记清屏清屏帮助帮助退出程序1.1总体设计流程图程序开菜单界2程序测试2.1登陆界面publicLoginframe(){login=newJDialog(Myaddress.myFrame,"个人通讯录登入界面",true);seOperationDONOTHINGONCLOSlogin.setLocationRelativeTo(null);login.setLayout(newGridLayout(3,0));username=newTextField(10);password=newTextField(10);username.setText("");password.setText("");certain=newJButton("certain");cancel=newJButton("cancel");certain.addActionListener(newLoginIn());cancel.addActionListener(newLoginIn());JLabellb1=newJLabel("用户名:");JLabellb2=newJLabel("密码:");JPanelp1=newJPanel();JPanelp2=newJPanel();JPanelp3=newJPanel();p1.add(lb1);p1.add(username);p2.add(lb2);p2.add(password);password.setEchoChar('*');p3.add(certain);p3.add(cancel);login.setSize(300,200);ppplogin.setVisible(true);}publicstaticvoidmain(String[]args){newLoginframe();}}点击“certain”,登录成功,点击确定,进入个人通讯录管理系统,个人通讯录管理系统界面publicLoginframe(){login=newJDialog(Myaddress.myFrame,"个人通讯录登入界面",true);oseOperationDONOTHINGONCLOSlogin.setLocationRelativeTo(null);login.setLayout(newGridLayout(3,0));username=newTextField(10);password=newTextField(10);username.setText("");password.setText("");certain=newJButton("certain");cancel=newJButton("cancel");certain.addActionListener(newLoginIn());cancel.addActionListener(newLoginIn());JLabellb1=newJLabel("用户名:");JLabellb2=newJLabel("密码:");JPanelp1=newJPanel();JPanelp2=newJPanel();JPanelp3=newJPanel();p1.add(lb1);p1.add(username);p2.add(lb2);p2.add(password);password.setEchoChar('*');p3.add(certain);p3.add(cancel);login.setSize(300,200);ppplogin.setVisible(true);}publicstaticvoidmain(String[]args){newLoginframe();}}2.点击左上角的“文件—导出数据库”,publicFdkeep(){fdsave=newJDialog(Myaddress.myFrame,"导出数据",true);fdsave.setLocationRelativeTo(null);fdsave.setLayout(newGridLayout(2,0));JLabellabelSave=newJLabel("输入保存的完整的路径:");JLabellabele1=newJLabel("例如:D:"+"\\"+"w.text");saveok=newJButton("save");savegp=newJButton("giveup");lbSave=newTextField(10);saveok.addActionListener(newFileExportDBAction());savegp.addActionListener(newFileExportDBAction());JPanelp9=newJPanel();JPanelp10=newJPanel();p9.add(labelSave);p9.add(lbSave);p9.add(labele1);p10.add(saveok);p10.add(savegp);addpdsaveaddpfdsave.setVisible(true);}}2.2添加界面点击“保存”将新加的信息加入数据库,系统会告知“添加成功”。publicclassPanelframeactionimplementsActionListener{publicvoidactionPerformed(ActionEvente){if(((JButton)e.getSource()).getText().equals("保存")){Stringnname,sx,bday,mphone,phone,compay,email,home,group,note,msnqq;nname=Panelframe.lbName.getText();sx=Panelframe.sex.getSelectedItem();bday=Panelframe.BirthdayYear.getSelectedItem()+"-"+Panelframe.BirthdayMonth.getSelectedItem()+"-"+Panelframe.BirthdayDay.getSelectedItem();mphone=Panelframe.lbMobilephone.getText();phone=Panelframe.lbTelephone.getText();compay=Panelframe.lbCompany.getText();email=Panelframe.lbMail.getText();home=Panelframe.lbaddress.getText();group=Panelframe.Group.getSelectedItem();note=Panelframe.lbNote.getText();msnqq=Panelframe.lbMail.getText();try{ con=newConnect().getConnection(); stmt=con.createStatement();sql1="INSERTINTOaddress"+"VALUES(\'"+nname+"\',\'"+sx+"\',"+bday+",\'"+mphone+"\',\'"+phone+"\',\'"+compay+"\',\'"+email+"\',\'"+home+"\',\'"+group+"\',\'"+note+"\',\'"+msnqq+"\')";stmt.executeUpdate(sql1);JOptionPane.showMessageDialog(null,"添加成功");Myaddress.myFrame.setVisible(false);Myaddress.myFrame.getContentPane().removeAll();Myaddress.myFrame.getContentPane().add(newImage());Myaddress.myFrame.pack();Myaddress.myFrame.setVisible(true);stmt.close();con.close();}catch(Exceptionex){ex.printStackTrace();}}if(((JButton)e.getSource()).getText().equals("取消")){Myaddress.myFrame.setVisible(false);Myaddress.myFrame.getContentPane().removeAll();Myaddress.myFrame.getContentPane().add(newImage());Myaddress.myFrame.pack();Myaddress.myFrame.setVisible(true);}if(((JButton)e.getSource()).getText().equals("退出查询界面")){Myaddress.myFrame.setVisible(false);Myaddress.myFrame.getContentPane().removeAll();Myaddress.myFrame.getContentPane().add(newImage());Myaddress.myFrame.pack();stmt=con.createStatement();Myaddress.myFrame.setVisible(true);}if(((JButton)e.getSource()).getText().equals("保存修改")){Stringsx,bday,mphone,phone,compay,email,home,group,note,msnqq;sx=Panelframe.sex.getSelectedItem();bday=Panelframe.BirthdayYear.getSelectedItem()+"-"+Panelframe.BirthdayMonth.getSelectedItem()+"-"+Panelframe.BirthdayDay.getSelectedItem();mphone=Panelframe.lbMobilephone.getText();phone=Panelframe.lbTelephone.getText();compay=Panelframe.lbCompany.getText();email=Panelframe.lbMail.getText();home=Panelframe.lbaddress.getText();group=Panelframe.Group.getSelectedItem();note=Panelframe.lbNote.getText();msnqq=Panelframe.lbMail.getText();try{ con=newConnect().getConnection(); sql1="updateaddressset性别=\'"+sx+"\',生日="+bday+",移动电话=\'"+mphone+"\',固定电话=\'"+phone+"\'"+",公司地址=\'"+compay+"\',EMail=\'"+email+"\',家庭地址=\'"+home+"\',组别=\'"+group+"\',备注=\'"+note+"\',MSNQQ=\'"+msnqq+"\'where姓名=\'"+intaa=stmt.executeUpdate(sql1);stmt.hashCode();System.out.print(QueryFrame.n);if(aa>0){JOptionPane.showMessageDialog(null,"修改成功");Myaddress.myFrame.setVisible(false);Myaddress.myFrame.getContentPane().removeAll();Myaddress.myFrame.getContentPane().add(newImage());Myaddress.myFrame.pack();Myaddress.myFrame.setVisible(true);}else{JOptionPane.showMessageDialog(null,"修改失败");}stmt.close();con.close();}catch(Exceptionex){ex.printStackTrace();}}}}选择“编辑—删除”,按照提示输入删除的用户名点击“删除”后,则系统会提示“删除成功”publicclassdeleteFrameactionimplementsActionListener{publicvoidactionPerformed(ActionEvente){deleteFrame.delFrame.setVisible(false);//删除界面不可见if(((JButton)e.getSource()).getText().equals("删除")){Stringnn=deleteFrame.lbDel.getText();//try{ con=newConnect().getConnection(); stmt=con.createStatement();sql="deletefromaddresswhere姓名="+"\'"+stmt.executeUpdate(sql);JOptionPane.showMessageDialog(null,"删除成功");stmt.close();con.close();//结束连接}catch(Exceptionex){System.out.println("Exception:"+ex.getMessage());}deleteFrame.lbDel.setText("");}if(((JButton)e.getSource()).getText().equals("放弃")){deleteFrame.delFrame.setVisible(false);}}}点击“文件—按姓名查找”,输入所需要查找的用户名点击“查询”,系统会对数据库进行查找,并提示“查找结束”publicQueryFrame(){findFrame=newJDialog(Myaddress.myFrame,"查找记录",true);//查找可见findFrame.setLocationRelativeTo(null);//查找地址不为空findFrame.setLayout(newGridLayout(2,0));//网格大小JLabellabelFind=newJLabel("输入所要查询的用户名:");findok=newJButton("查询");findgp=newJButton("撤消");lbFind=newTextField(10);findok.addActionListener(newQueryAction());findgp.addActionListener(newQueryAction());JPanelp4=newJPanel();//容器JPanelp6=newJPanel();p4.add(labelFind);p4.add(lbFind);p6.add(findok);p6.add(findgp);findFrame.setVisible(true);}}以上通过了正确查找和错误两方面充分论证了查找功能的正常运行。点击文件“编辑—查找全部”,则会弹出一个空白的查找结果界面,这是因为在程序设计中默认的是不显示所得的信息然后点击“显示查询结果”,即可显示出全部查询结果。publicclassQueryAllActionimplementsActionListener{publicvoidactionPerformed(ActionEvente){if(((JButton)e.getSource()).getText().equals("显示查询结果")){Stringnm,sx,mp,ph,em,ca,ha,nb,gp,lbMQ,all;booleanbdr;Datebd;try{ con=newConnect().getConnection(); stmt=con.createStatement();sResultSetws=stmt.executeQuery(sql);while(ws.next()){nm=ws.getString(1);sx=ws.getString(2);bd=ws.getDate(3);mp=ws.getString(4);ph=ws.getString(5);ca=ws.getString(6);em=ws.getString(7);ha=ws.getString(8);gp=ws.getString(9);nb=ws.getString(10);lbMQ=ws.getString(11);all="姓名"+nm+"性别"+sx+"生日"+

温馨提示

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

评论

0/150

提交评论