1、随着人们生活水平的提高,通讯工具在平常百姓家中已经是非常常见。有些家庭人员众多,有的家庭成员甚至有好几个联系方式,在这种情况下,要记住所有的联系方式似乎有些困难,所以我们希望设计一个家庭通讯录,记录所有家庭成员的联系方式,并且能方便的查找,增加和删除。二系统总体设计要设计这么一个家庭通讯录,我们采用自顶向下的设计方法,将系统分成几个模块,分别实现模块后再将各模块连接,通过调试完成整个系统的设计。设计系统的框架如图1所示。家庭通讯录数据库显示界面算法建立数据库连接数据库主框架对话框增加查找删除工具条表格图1.系统总体框架我们的通讯录分成三大模块:数据库,显示界面以及算法:通讯录的增加修改等都需要
2、访问数据库,所以需要建立数据库和连接数据库。显示界面是人机交互的窗口,我们力争做到简洁美观,能让用户很方便的使用。主界面上是显示功能的工具条以及表格,点击功能按钮,如“查找”等,会弹出对话框。算法可以实现“增加”“查找”“删除”等功能。三具体分工在具体实现的过程中我负责算法和响应部分,具体实现过程如下1)算法部分:Add算法:if(be.getActionCode()=be.OK)String insertSql=insert into data VALUES (?,?); ObjectlineForDBAdd=be.getName(),be.getAddress(),be.getTel(),
3、be.getMob();if(SqlUtil.addRowToDB(con, insertSql, lineForDBAdd)/成功写入数据库的记录,追加到表格末行显示model.insertRow(model.getRowCount(), lineForDBAdd);/将表格的最后一行选中table.changeSelection(model.getRowCount()-1, 0, false, false);search算法:if(sd.getActionCode()=sd.OK)String readSql=sd.getSQL();SqlUtil.readDBToTable(con,re
4、adSql,model,dataType);delete算法:int result=JOptionPane.showConfirmDialog(f,您确定要删除该条记录信息吗?,确认,JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);if(result!=JOptionPane.YES_OPTION) return;String deleteSql=delete from data where name=?Object keys=model.getValueAt(selected, 0).toString();if(SqlUtil.
5、deleteFromDB(con, deleteSql, keys)model.removeRow(selected);addRowToDB算法:update=con.prepareStatement(insertSql); /向数据库插入if(lineForDBAdd!=null) /一条记录for(int i=0;i0) /清空表格中所有数据model.removeRow(0);2)响应部分:“增加”对话框的响应:public void actionPerformed(ActionEvent e)Object s=e.getSource();if(s=this.btnCancel)this
6、.actionCode=this.CANCEL;this.setVisible(false);else if(s=this.btnOk) okClicked();public void okClicked()/姓名不为空时隐藏对话框if(!this.txtName.getText().trim().equals()this.actionCode=this.OK;this.setVisible(false);elseJOptionPane.showMessageDialog(f, 请输入姓名提示 JOptionPane.INFORMATION_MESSAGE );“查找”对话框的响应:publi
7、c void actionPerformed(ActionEvent e)Object s=e.getSource();if(s=this.radName)setTxtEditable(true,false,false,false); else if(s=this.radAddress) setTxtEditable(false,true,false,false);else if(s=this.radTel) setTxtEditable(false,false,true,false);else if(s=this.radMob) setTxtEditable(false,false,fals
8、e,true);else if(s=this.btnOK)this.actionCode=this.OK;this.setVisible(false);else if(s=this.btnCancel)this.actionCode=this.CANCEL;主界面按钮响应:public void actionPerformed(ActionEvent e) Object s=e.getSource();if(s=this.btnAdd) add();else if(s=this.btnSearch) search();else if(s=this.btnDelete) delete();els
9、e if(s=this.btnExit) System.exit(0);四使用说明 运行程序出现如下界面: 1)显示所有项目,点击“查找”,不输入查找内容,直接“确定”。 2)增加一条信息,点击“增加”,输入所需字段。点击“确定”。3)查找信息,点击“查找”,输入任意字段查找。4)删除一条信息,选中某一条信息,点击“删除”,弹出对话框,点击“是(Y)”。如果未选中信息,点击“删除”,则会弹出如下对话框:需要,选中一条,再点击“删除”。五总结 通过这次课程设计,我们不仅顺利做出了整个课题,并且有很多收获和体会。 这个过程中遇到的最大的困难就是以前没有接触过java,所以要从头开始。从了解数据语法结构,到研究代码,像学习其他语言一样,要经过一个痛苦的过程才能渐入佳境。好在java和C/C+有相似之处,使我们学起来能轻松一点。 我们小组成员在分完系统模块后,就各自负责一部分模块,最后再整合调试。只有通过合作,才能更高效率的完成任务。 还有就是实践的重要性。很多东西在理论层面是行的通的,但到实际中就行不通了。所以要多实践,在不断的修改调试过程中巩固知识。六参考文献於东军等著,Java程序设计与应用开发,清华大学出版,2005年于万波主编,Java语言实用教程,清华
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1