java课程设计-通讯录(1)-设计报告Word格式.doc

上传人:b****1 文档编号:13096857 上传时间:2022-10-04 格式:DOC 页数:10 大小:104KB
下载 相关 举报
java课程设计-通讯录(1)-设计报告Word格式.doc_第1页
第1页 / 共10页
java课程设计-通讯录(1)-设计报告Word格式.doc_第2页
第2页 / 共10页
java课程设计-通讯录(1)-设计报告Word格式.doc_第3页
第3页 / 共10页
java课程设计-通讯录(1)-设计报告Word格式.doc_第4页
第4页 / 共10页
java课程设计-通讯录(1)-设计报告Word格式.doc_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

java课程设计-通讯录(1)-设计报告Word格式.doc

《java课程设计-通讯录(1)-设计报告Word格式.doc》由会员分享,可在线阅读,更多相关《java课程设计-通讯录(1)-设计报告Word格式.doc(10页珍藏版)》请在冰豆网上搜索。

java课程设计-通讯录(1)-设计报告Word格式.doc

随着人们生活水平的提高,通讯工具在平常百姓家中已经是非常常见。

有些家庭人员众多,有的家庭成员甚至有好几个联系方式,在这种情况下,要记住所有的联系方式似乎有些困难,所以我们希望设计一个家庭通讯录,记录所有家庭成员的联系方式,并且能方便的查找,增加和删除。

二.系统总体设计

要设计这么一个家庭通讯录,我们采用自顶向下的设计方法,将系统分成几个模块,分别实现模块后再将各模块连接,通过调试完成整个系统的设计。

设计系统的框架如图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<

lineForDBAdd.length;

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;

column;

{

line[i]=rs.getString(i+1).trim();

}

model.addRow(line);

deleteFromDB算法:

update=con.prepareStatement(deleteSql);

//删除数据库中的记录

if(keys!

=null)

keys.length;

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;

主界面按钮响应:

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语言实用教程》,清华

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1