JAVA电话本 课程设计.docx
- 文档编号:24187814
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:17
- 大小:218.33KB
JAVA电话本 课程设计.docx
《JAVA电话本 课程设计.docx》由会员分享,可在线阅读,更多相关《JAVA电话本 课程设计.docx(17页珍藏版)》请在冰豆网上搜索。
JAVA电话本课程设计
华北科技学院
课程设计说明书
班级:
计算B092
学号:
200909014214姓名:
王强
设计题目:
电话号码管理系统
设计时间:
2011.12.26至2011.12.30
指导教师:
杨阳
评语:
_________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
评阅成绩:
____评阅教师:
_____
目 录
1引言
1.1课程设计选题
《电话号码管理系统》
1.2课程设计的目的
使学生巩固和加深以Java语言为基础的面向对象编程技术理论知识的理解,提高实际动手编程能力的培养,掌握以Java为核心的应用软件开发方案,达到能独立阅读、编制和调试一定规模的Java程序的水平。
1.3本选题的设计背景
几乎所有的人都在为繁杂的电话号码而发愁,怎们才能记住这么多的电话号码呢?
为了解决这个麻烦的问题,我设计了电话号码管理系统,此管理系统很好的解决了这个问题,帮助我们很好的管理繁杂的电话号码。
此系统对于那些业务繁忙的成功人士来说也是一个很好的助手,不仅帮助他们很好的管理了电话号码,而且帮助他们节省了很多时间,这对他们的工作、生活提供了很大的方便,让他们有更多的时间处理其他的事情。
需求分析
2.1功能需求
电话号码管理软件是一个比较新型和实用的系统软件,随着科技的日益发展,手机已经成为一种非常普通和普遍的通讯工具,在日常的生活和交往中起到举足轻重的作用。
然而又不可能用大脑记录全部的同事和朋友的号码,手机的存储容量也有很大的限制,所以这样一个软件是必需的。
在设计电话号码管理软件的时候用到的最重要的功能就是要调用数据库,并且通过数据库来储存和修改一些资料,方便、简单、易行。
在该系统中,除了处理最基本的添加、查找、修改、删除之外还支持当今最流行的模糊查询,提高了我们执行操作的效率。
另外,在系统中利用JAVA设计界面的优势,使得界面非常友好,给人一种赏心悦目的感觉。
2.2系统的开发运行环境
本系统开发平台:
Java+Access2007
本系统集成开发环境:
MyEclipse
本系统运行环境:
Windowsxp
总体设计
3.1系统体系结构设计
本电话号码管理软件可以在主界面中完成资料的添加、查找、排序(两种排序方法)等功能,而对信息的修改和删除功能则是在主界面中连接到另外一个界面进行操作。
在系统中利用JAVA设计界面的优势,使得界面非常友好,给人一种赏心悦目的感觉。
3.2系统功能模块及主要类设计
添加
修改
删除
按按姓名排序查询
按按加入序号查询
模模糊查询
电话号码管理
总体结构图:
系统的功能描述:
添加:
请输入添加的姓名、电话号码
修改:
请输入要修改的号码的人的姓名、请输入新姓名、请输入新号码、确认修改、退出
删除:
请输入要删除号码人的姓名、确认删除、退出
查询:
按姓名查询、按输入姓名的先后顺序查询、模糊查询(单个姓名查询或全部查询)
功能流程图:
开始
选择操作
添加
姓名号码
记录入库
提示成功
姓名
按照姓名
顺序输出
顺序
按照入库顺序输出
查询
关键字
修改
修改
模块
输入匹配数据
删除
删除模块
结束
相关类设计:
在该程序中主要定义了一个Kcsj公共类,另外又定义了一个PhoneWindow类,该类继承了Jframe。
在PhoneWindow类中定义一些事件和函数,在主函数中进行调用,其结构如下:
publicclassKcsj{
publicstaticvoidmain(String[]args){
PhoneWindowWin=newPhoneWindow("电话号码管理");
}
}
classPhoneWindowextendsJFrame{
//初始化函数
publicPhoneWindow(Strings){
//删除号码
sc1.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
//调用数据库,执行删除操作
}
});
//修改
xg.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
//调用数据库,执行修改操作
}
});
//修改和删除界面的退出按钮事件
tc.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
//退出
}
});
//修改号码
xg1.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
//修改号码
}
});
//按姓名排序查询
cx2.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
//调用数据库,执行排序操作
}
});
//排序查询
cx1.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
//调用数据库,执行排序查询操作
}
});
//添加号码
tj.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
//调用数据库,执行添加号码操作
}
});
//模糊查询
cx3.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
//调用数据库,执行模糊查询操作
}
});
//面板
publicvoidadd(Componentc,GridBagConstraintsgbc,intx,inty,intw,inth){
//设置面板
}
}
3.3数据库设计
此电话号码管理系统应用了Access2007数据库存储电话号码的相关信息,程序中通过相关的语句调用此数据库实现电话号码的管理。
详细设计与实现
4.1登录模块
1.功能设计
添加:
请输入添加的姓名、电话号码
修改:
请输入要修改的号码的人的姓名、请输入新姓名、请输入新号码、确认修改、退出
删除:
请输入要删除号码人的姓名、确认删除、退出
查询:
按姓名查询、按输入姓名的先后顺序查询、模糊查询(单个姓名查询或全部查询)
2.界面设计
此系统设计了一个主面板“电话号码管理”,面板中设计了两个标签、六个按钮和三个文本框、一个文本区。
详细界面如下:
4.2主面板模块
主面板主要程序代码:
//主界面控件
Labelname=newLabel("添加的姓名:
");//标签
Labelnum=newLabel("添加的号码:
");
Dialogmy;//对话框
Labelczts;//标签
TextFieldname1=newTextField();//文本框
TextFieldnum1=newTextField();
TextAreatel=newTextArea();//文本区
TextFieldname2=newTextField();//文本框
Buttontj=newButton("添加");//按钮
Buttoncx1=newButton("按加入序号查询");
Buttoncx2=newButton("按姓名排序查询");
Buttoncx3=newButton("模糊查询");
Buttonsc=newButton("删除");
Buttonxg=newButton("修改");
//修改窗口控件
Labelxgname=newLabel("请输入要修改号码的姓名:
");
Labelxgnewname=newLabel("请输入新姓名:
");
Labelxgnewnum=newLabel("请输入新号码:
");
TextFieldoldname=newTextField(15);
TextFieldnewname=newTextField(15);
TextFieldnewnum=newTextField(15);
Buttonxg1=newButton("修改");//按钮
Labelczts1=newLabel("操作提示");
Buttontc=newButton("退出");//按钮
//删除界面控件
Labelscname=newLabel("请输入要删除号码人的姓名:
");
TextFieldscoldname=newTextField(15);
Labelczts2=newLabel("操作提示");
Buttonsc1=newButton("删除");//按钮
主面板界面如下:
4.3修改模块
修改的主要程序代码:
//修改号码
xg1.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
Stringurl="jdbc:
odbc:
telphone";
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(java.lang.ClassNotFoundExceptionex){}
try{
Connectioncon=DriverManager.getConnection(url,"",null);
Statementstmt=con.createStatement();
Strings=oldname.getText();
Stringstr=newname.getText();
Stringstr1=newnum.getText();
Stringsql="UPDATEtelSETname=?
telphone=?
WHEREname=?
";
PreparedStatementps=con.prepareStatement(sql);
ps.setString(1,str);
ps.setString(2,str1);
ps.setString(3,s);
ps.executeUpdate();
czts1.setText("修改成功!
");
stmt.close();
con.close();
}catch(SQLExceptionex){
System.out.println(ex);
}
}
});
修改界面:
把“皇天后土”修改为“东方不败”后的界面:
4.4删除模块
删除的主要程序代码:
//删除号码
sc1.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
Stringurl="jdbc:
odbc:
telphone";
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(java.lang.ClassNotFoundExceptionex){}
try{
Connectioncon=DriverManager.getConnection(url,"",null);
Statementstmt=con.createStatement();
Strings=scoldname.getText();
Stringsql="DELETEFROMtelWHEREname=?
";
PreparedStatementps=con.prepareStatement(sql);
ps.setString(1,s);
ps.executeUpdate();
czts2.setText("删除成功!
");
stmt.close();
con.close();
}catch(SQLExceptionex){
System.out.println(ex);
}
}
});
删除前的界面:
删除“水木年华”后的界面:
4.5模糊查询模块
模糊查询主要程序代码:
//模糊查询
cx3.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
Stringurl="jdbc:
odbc:
telphone";
try{
Connectioncon=DriverManager.getConnection(url,"",null);
Statementstmt=con.createStatement();
Strings1,s2,s3="";
Strings=name2.getText();
Stringsql="SELECT*FROMtelWHEREnameLIKE'%"+s+"%'";
ResultSetrs=stmt.executeQuery(sql);
while(rs.next()){
s1=rs.getString("name");
s2=rs.getString("telphone");
Strings4=s1+""+s2+"\r\n";
s3=s3+s4;
}
tel.setText(s3);
czts.setText("模糊查询成功!
");
stmt.close();
con.close();
}catch(SQLExceptionex){
System.out.println(ex);
}
}
});
}
输入“刘”模糊查询的界面:
4.6存储电话信息的Access数据库模块
小结和展望
这个电话号码管理系统管我花了两天时间完成了主界面的程序设计,一天时间完成了程序的添加和删除界面的程序设计,最后用了一天时间连接数据库和调试整个程序,最后好不容易调试成功了。
在该程序编写的过程中,时刻要用到数据库和数据源,将这些与JAVA程序联系起来使用还是很麻烦的,特别是在建立数据源的时候,我参照课本上的例子,费了九牛二虎之力才用ACCESS做的数据源连接到了JAVA上,在这个过程中我遇到了很大困难,最后在老师和同学的帮助下完成了数据库的连接。
在编程中还有一点困难的是在主界面中嵌入另外一个对话框,这也是我们以前所没有接触过的,后来才知道有固定的格式去建立。
对于这些现象,除了借助于老师和同学之外,在自己做的时候还通过网络解决一些类似的问题,在逐渐完善程序的同时也学到了许多关于JAVA语言和以前学过的C语言、C++的区别和联系的知识,通过这次课程设计,我受益匪浅。
在这次课程设计中作中我积累了很多的经验,这对我以后的工作会有很大的帮助!
由于时间的限制,此电话号码管理系统还有许多不足的地方需要进一步完善,希望在以后的时间里把这个系统做的更人性化,更合理、简单、易操作,让用户用起来得心应手!
参考文献
[1]孙家广,杨长青.计算机图形学[M].北京:
清华大学出版社,1995.
[2]李旭东,宗光华,毕树生等.基于J2EE的排课系统关键问题研究[J].华北科技学院报,2002,28(3):
249-252.
[3]肖磊,李钟尉.Java实用教程北京:
人民邮电出版社,2010.
附录
使用说明书
(1)在登录界面的主面板的添加姓名和号码文本框中分别添加姓名和电话号码,然后点击添加按钮,提示添加成功,之后直接点击模糊查询就可以在文本区中显示添加的信息;
(2)在主面板中点击按姓名排序查询,可以在文本区中看到相同姓的在一起的查询结果;
(3)在主面板中点击按假如序号查询,可以在文本区中看到按添加的顺序显示查询结果;
(4)在主面板模糊查询的相应文本框中输入姓,可以在文本区看到查询结果;
(5)在主面板中点击修改按钮可以对添加的信息进行修改;
(6)在主面板中点击删除按钮可以删除已经添加的任何电话号码信息。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA电话本 课程设计 JAVA 电话本