同学录管理系统毕业设计论文.doc
《同学录管理系统毕业设计论文.doc》由会员分享,可在线阅读,更多相关《同学录管理系统毕业设计论文.doc(21页珍藏版)》请在冰点文库上搜索。
毕业设计
题目同学录管理系统
学生姓名
学号
专业
班级
指导教师
评阅教师
完成日期 年 月 日
目录
【摘要】 1
【前言】 1
一同学录系统Access数据源安装 1
1.准备工作 1
2.建Access数据源 1
二同学录系统界面设计 3
1.加载主界面 4
2.数据库模块 4
3.主界面功能模块 6
三、同学录系统代码 10
1.连接数据库 10
2.数据加载 12
3.主界面代码 13
感谢:
19
参考文献:
19
Java语言的swing构架
——同学录管理系统
学生:
指导教师:
【摘要】
随着网络信息时代的来临,互联网应用越来越广泛,从网上获取并且发布信息已成为现代计算机应用的一大特色。
近年来计算机技术的快速发展,特别是计算机网络的发展,越来越深刻的改变了人们生活的方方面面,使得人们能以更低廉的价格,开发出更方便、更实用的网络工具。
各种在线服务系统,更是深刻的影响了人们的联系方式,使得人们可以在远隔千里之遥随时通讯。
过去的种种陈旧的联系方式,已经不能满足现代生活的需要,同学录作为一种方便同学之间联系的实用系统便应运而生。
关键词:
java;Access;同学录;数据库
【前言】
现代社会是一个信息化的社会,信息的交流在无形中影响着我们的生活,我们的生活速度随之加快,同学录就是一个很好的信息平台,它不仅为我们节约了大量的时间,更我们提供了一个同学交流的空间,让我们在繁忙的生活中获得一份轻松与惬意。
按照毕业设计的具体需求,用于对同学的详细联系方式的增删改查,设计并实现了一个小型同学录系统,进行信息的添加和查找,以便联系同学。
论文主要介绍Swing界面简介,Access关系数据库概,同学录系统分析与设计,程序设计主要代码,界面和功能,系统的使用说明与安装。
一同学录系统Access数据源安装
1.准备工作
在使用同学录系统之前,还必须先建好数据源,我选择的是Access数据库。
同学录系统我采用的是以studentlist为数据源名。
2.建Access数据源
先点“打开”——“控制面板”——“管理工具”——“数据源”
点击“添加”建一个新的*.mdb;
选择MicrosoftAccessDriver(*.mdb)完成;
写数据源名studentlist,高级(登录名称:
qz,密码:
123),选择;
找到数据库文件夹里的studentlist.mdb文件,完成数据源的建立;
二同学录系统界面设计
此系统模块要的功能主要分为三模块,第一大模块就是加载主界面模块,第二个就是数据库,第三个就是管理同学录的管理,可以对同学的信息进行增,删,改,查功能。
1.加载主界面
同学录数据加载…
2.数据库模块
Admin表
Student表
3.主界面功能模块
同学录系统主界面
增加好友
修改好友
查询好友
浏览好友(双击想看的联系人)
Callme
第19页共21页
三、同学录系统代码
1.连接数据库
packageBean;
importjava.sql.*;
publicclassDriverBean{
publicstaticConnectiongetConnection(){
Connectioncon=null;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//System.out.println("driver......");
con=DriverManager.getConnection("jdbc:
odbc:
studentlist");
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}catch(SQLExceptione){
e.printStackTrace();
}
returncon;
}
publicstaticStatementgetStatement(Connectioncon){
Statementsta=null;
if(con!
=null){
try{
sta=con.createStatement();
}catch(SQLExceptione){
e.printStackTrace();
}
}
returnsta;
}
publicstaticResultSetgetResultSet(Statementsta,Stringsql){
ResultSetrs=null;
if(sta!
=null){
try{
rs=sta.executeQuery(sql);
}catch(SQLExceptione){
e.printStackTrace();
}
}
returnrs;
}
publicstaticvoidcloseResultSet(ResultSetrs){
if(rs!
=null){
try{
rs.close();
rs=null;
}catch(SQLExceptione){
e.printStackTrace();
}
}
}
publicstaticvoidcloseStatement(Statementsta){
if(sta!
=null){
try{
sta.close();
sta=null;
}catch(SQLExceptione){
e.printStackTrace();
}
}
}
publicstaticvoidcloseConnection(Connectioncon){
if(con!
=null){
try{
con.close();
con=null;
}catch(SQLExceptione){
e.printStackTrace();
}
}
}
// publicstaticvoidmain(String[]args){
// //DriverBeandb=newDriverBean();
// getConnection();
// }
}
2.数据加载
packagejiemain;
importjava.awt.*;
importjava.awt.event.*;
import.*;
importjavax.swing.*;
publicclassLoginextendsJWindowimplementsRunnable{
privateThreadsthread;//进度条更新线程;
privateJProgressBarjpb;//进度条;
privateintwidth=230;
privateintheight=650;
publicLogin(){
Containercontainer=getContentPane();//得到容器;
this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));//设置光标;
URLurl=getClass().getResource("911.jpg");//设置图片位置;
if(url!
=null){
container.add(newJLabel(newImageIcon(url)),BorderLayout.CENTER);//增加图片到容器上;
}
jpb=newJProgressBar(1,100);//实例化进度条;
jpb.setStringPainted(true);//显示描述文字;
jpb.setString("数据加载中,请稍候...");//描述文字;
jpb.setBackground(Color.white);//设置进度条背景色;
container.add(jpb,BorderLayout.SOUTH);//设置进度条的位置;
Dimensionscreen=getToolkit().getScreenSize();//得到屏幕尺寸;
pack();//窗口适应尺寸大小;
setLocation((screen.width-getSize().width)/2,(screen.height-getSize().height)/2);
}
publicvoidstart(){//一定要用start;*******
this.toFront();//窗口前面显示;
sthread=newThread(this);
sthread.start();
}
publicvoidrun(){
setVisible(true);//显示窗口;
try{
for(inti=0;i<100;i++){
Thread.sleep(100);//线程休眠;
jpb.setValue(jpb.getValue()+1);//设置进度条值
}
}catch(Exceptione){
e.printStackTrace();
}
dispose();//释放窗口;
Mainm=newMain();//运行主程序
Toolkittoolkit=Toolkit.getDefaultToolkit();
intx=(int)toolkit.getScreenSize().getWidth();
inty=(int)toolkit.getScreenSize().getHeight();
m.setBounds((x-width),(y-height)/2,width,height);
m.setVisible(true);
}
publicstaticvoidmain(String[]args){
Loginlogin=newLogin();
login.start();//运行启动界面;一定要用start;*******
}
}
3.主界面代码
packagejiemain;
importjava.awt.*;
importjava.awt.event.*;
importjava.text.SimpleDateFormat;
importjava.util.*;
importjava.util.Date;
importjava.sql.*;
importBean.DriverBean;
importjavax.swing.*;
publicclassMainextendsJFrameimplementsActionListener{
privateintwidth=230;
privateintheight=650;
JLabeljl1,jl2,jl3;
JListjlist;
JPaneljp;
JComboBoxjcb;
JTextFieldjtf;
JScrollPanejsp;
JButtonjb1,jb2,jb3,jb4,jb5;
ArrayListalist=newArrayList();
Stringstring=null;
inti=0;
publicMain(){
this.setTitle("登录界面");
// Toolkittoolkit=Toolkit.getDefaultToolkit();
// intx=(int)toolkit.getScreenSize().getWidth();
// inty=(int)toolkit.getScreenSize().getHeight();
// this.setBounds((x-width),(y-height)/2,width,height);
jp=newJPanel(null);
Colorcolor=newColor(454545);
jp.setBackground(color);
jb1=newJButton("增");
jb2=newJButton("删");
jb3=newJButton("改");
jb4=newJButton("查");
jb5=newJButton("Callme");
jb5.setBounds(5,10,80,20);
jp.add(jb5);
jl1=newJLabel("欢迎您登录");
jl1.setBounds(85,10,200,20);
jp.add(jl1);
SimpleDateFormatsdf=newSimpleDateFormat();
Stringss=sdf.format(newDate());
jl2=newJLabel("日期:
"+ss);
jl2.setBounds(40,30,150,20);
jp.add(jl2);
jl3=newJLabel("名言名句:
朋友多了路好走...");
jl3.setBounds(20,580,180,20);
jp.add(jl3);
jb1.setBounds(5,60,50,20);
jp.add(jb1);
jb2.setBounds(5,90,50,20);
jp.add(jb2);
jb3.setBounds(5,120,50,20);
jp.add(jb3);
jb4.setBounds(5,150,50,20);
jp.add(jb4);
jtf=newJTextField("英雄贵姓电话号码");
jtf.setEditable(false);
jtf.setBounds(60,50,160,20);
jp.add(jtf);
DriverBeandb=newDriverBean();
Connectionconn=db.getConnection();
Statementsta=db.getStatement(conn);
Stringsql="select*fromstudent";
ResultSetrs=db.getResultSet(sta,sql);
Stringstr1="";
try{
while(rs.next()){
alist.add(rs.getString
(1)+"-----"+rs.getString(3));
}
}catch(SQLExceptione){
e.printStackTrace();
}finally{
db.closeResultSet(rs);
db.closeStatement(sta);
db.closeConnection(conn);
}
for(inti=0;i str1=str1+alist.get(i)+"/";
}
//System.out.println(str1);
Strings[]=str1.split("/");
jlist=newJList(s);
jsp=newJScrollPane(jlist);
jsp.setBounds(60,70,160,500);
jp.add(jsp);
add(jp);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//this.setVisible(true);
this.setResizable(false);
jb1.addActionListener(this);
jb2.addActionListener(this);
jb3.addActionListener(this);
jb4.addActionListener(this);
jb5.addActionListener(this);
jlist.addMouseListener(newMouseListener(){
publicvoidmouseClicked(MouseEvente){
i=jlist.getSelectedIndex();
string=(String)jlist.getSelectedValue();
if(e.getClickCount()==2){
Strings1=null;
Strings2=null;
Strings3=null;
Strings4=null;
Strings5=null;
String[]str=string.split("-----");
Stringstr1=str[0].trim();
DriverBeandb=newDriverBean();
Connectionconn=db.getConnection();
Statementsta=db.getStatement(conn);
Stringsql="select*fromstudentwherename='"+str1+"'";
ResultSetrs=db.getResultSet(sta,sql);
try{
while(rs.next()){
s1=rs.getString
(1);
s2=rs.getString
(2);
s3=rs.getString(3);
s4=rs.getString(4);
s5=rs.getString(5);
}
}catch(SQLExceptione1){
e1.printStackTrace();
}finally{
if(rs!
=null){
db.closeResultSet(rs);
}
if(sta!
=null){
db.closeStatement(sta);
}
if(conn!
=null){
db.closeConnection(conn);
}
}
newMenu().show(s1,s2,s3,s4,s5);
}
}
publicvoidmouseEntered(MouseEventarg0){
//TODOAuto-generatedmethodstub
}
publicvoidmouseExited(MouseEventarg0){
//TODOAuto-generatedmethodstub
}
publicvoidmousePressed(MouseEventarg0){
//TODOAuto-generatedmethodstub
}
publicvoidmouseReleased(MouseEvente1){
//TODOAuto-generatedmethodstub
// newMenu();
}
}
);
}
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==jb1){
newAdd().show(this);
// this.setVisible(false);
}
if(e.getSource()==jb2){//删除
if(string!
=null||string!
=""){
string=(String)jlist.getSelectedValue();
Stringstr[]=string.trim().split("-----");
alist.remove(i);
Stringstr1=null;
for(inti=0;i str1=str1+alist.get(i)+"/";
}