java课程设计通讯录1设计报告.docx
- 文档编号:7709923
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:8
- 大小:101.81KB
java课程设计通讯录1设计报告.docx
《java课程设计通讯录1设计报告.docx》由会员分享,可在线阅读,更多相关《java课程设计通讯录1设计报告.docx(8页珍藏版)》请在冰豆网上搜索。
java课程设计通讯录1设计报告
JAVA课程设计报告
姓名
学号
同组人员
成绩
目录
一.引言……………………………………………………………3
二.系统总体设计…………………………………………………3
三.具体分工………………………………………………………4
四.使用说明………………………………………………………7
五.总结……………………………………………………………11
六.参考文献………………………………………………………12
一.引言
随着人们生活水平的提高,通讯工具在平常百姓家中已经是非常常见。
有些家庭人员众多,有的家庭成员甚至有好几个联系方式,在这种情况下,要记住所有的联系方式似乎有些困难,所以我们希望设计一个家庭通讯录,记录所有家庭成员的联系方式,并且能方便的查找,增加和删除。
二.系统总体设计
要设计这么一个家庭通讯录,我们采用自顶向下的设计方法,将系统分成几个模块,分别实现模块后再将各模块连接,通过调试完成整个系统的设计。
设计系统的框架如图1所示。
图1.系统总体框架
我们的通讯录分成三大模块:
数据库,显示界面以及算法:
通讯录的增加修改等都需要访问数据库,所以需要建立数据库和连接数据库。
显示界面是人机交互的窗口,我们力争做到简洁美观,能让用户很方便的使用。
主界面上是显示功能的工具条以及表格,点击功能按钮,如“查找”等,会弹出对话框。
算法可以实现“增加”“查找”“删除”等功能。
三.具体分工
在具体实现的过程中我负责算法和响应部分,具体实现过程如下
1)算法部分:
Add算法:
if(be.getActionCode()==be.OK)
{
StringinsertSql="insertintodataVALUES(?
?
?
?
)";
Object[]lineForDBAdd={be.getName(),be.getAddress(),be.getTel(),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)
{
StringreadSql=sd.getSQL();
SqlUtil.readDBToTable(con,readSql,model,dataType);
}
delete算法:
intresult=JOptionPane.showConfirmDialog(f,"您确定要删除该条记录信息吗?
","确认",
JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);
if(result!
=JOptionPane.YES_OPTION)return;
StringdeleteSql="deletefromdatawherename=?
";
Object[]keys={model.getValueAt(selected,0).toString()};
if(SqlUtil.deleteFromDB(con,deleteSql,keys))
model.removeRow(selected);
addRowToDB算法:
update=con.prepareStatement(insertSql);//向数据库插入if(lineForDBAdd!
=null)//一条记录
for(inti=0;i update.setObject(i+1,lineForDBAdd[i]); update.executeUpdate(); ReadDBToTable算法: query=con.prepareStatement(readSql);//从数据库读取数据到表格 query.clearParameters(); ResultSetrs=query.executeQuery(); while(rs.next()) { intcolumn=model.getColumnCount(); Object[]line=newObject[column]; for(inti=0;i { line[i]=rs.getString(i+1).trim(); } model.addRow(line); } deleteFromDB算法: update=con.prepareStatement(deleteSql);//删除数据库中的记录 if(keys! =null) for(inti=0;i update.setObject(i+1,keys[i]); update.executeUpdate(); ClearAllRowsInTable算法: while(model.getRowCount()>0)//清空表格中所有数据 model.removeRow(0); 2)响应部分: “增加”对话框的响应: publicvoidactionPerformed(ActionEvente){ Objects=e.getSource(); if(s==this.btnCancel){ this.actionCode=this.CANCEL; this.setVisible(false); } elseif(s==this.btnOk)okClicked(); } publicvoidokClicked(){ //姓名不为空时隐藏对话框 if(! this.txtName.getText().trim().equals("")) { this.actionCode=this.OK; this.setVisible(false); } else JOptionPane.showMessageDialog(f,"请输入姓名","提示", JOptionPane.INFORMATION_MESSAGE); } “查找”对话框的响应: publicvoidactionPerformed(ActionEvente){ Objects=e.getSource(); if(s==this.radName) setTxtEditable(true,false,false,false); elseif(s==this.radAddress)setTxtEditable(false,true,false,false); elseif(s==this.radTel)setTxtEditable(false,false,true,false); elseif(s==this.radMob)setTxtEditable(false,false,false,true); elseif(s==this.btnOK){ this.actionCode=this.OK; this.setVisible(false); } elseif(s==this.btnCancel){ this.actionCode=this.CANCEL; this.setVisible(false); } } 主界面按钮响应: publicvoidactionPerformed(ActionEvente) { Objects=e.getSource(); if(s==this.btnAdd)add(); elseif(s==this.btnSearch)search(); elseif(s==this.btnDelete)delete(); elseif(s==this.btnExit)System.exit(0); } 四.使用说明 运行程序出现如下界面: 1)显示所有项目,点击“查找”,不输入查找内容,直接“确定”。 2)增加一条信息,点击“增加”,输入所需字段。 点击“确定”。 3)查找信息,点击“查找”,输入任意字段查找。 点击“确定”。 4)删除一条信息,选中某一条信息,点击“删除”,弹出对话框,点击“是(Y)”。 如果未选中信息,点击“删除”,则会弹出如下对话框: 需要,选中一条,再点击“删除”。 五.总结 通过这次课程设计,我们不仅顺利做出了整个课题,并且有很多收获和体会。 这个过程中遇到的最大的困难就是以前没有接触过java,所以要从头开始。 从了解数据语法结构,到研究代码,像学习其他语言一样,要经过一个痛苦的过程才能渐入佳境。 好在java和C/C++有相似之处,使我们学起来能轻松一点。 我们小组成员在分完系统模块后,就各自负责一部分模块,最后再整合调试。 只有通过合作,才能更高效率的完成任务。 还有就是实践的重要性。 很多东西在理论层面是行的通的,但到实际中就行不通了。 所以要多实践,在不断的修改调试过程中巩固知识。 六.参考文献 於东军等著,《Java程序设计与应用开发》,清华大学出版,2005年 于万波主编,《Java语言实用教程》,清华大学出版社,2008年
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 课程设计 通讯录 设计 报告