java课程设计.docx

上传人:b****8 文档编号:9487281 上传时间:2023-02-04 格式:DOCX 页数:23 大小:699.33KB
下载 相关 举报
java课程设计.docx_第1页
第1页 / 共23页
java课程设计.docx_第2页
第2页 / 共23页
java课程设计.docx_第3页
第3页 / 共23页
java课程设计.docx_第4页
第4页 / 共23页
java课程设计.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

java课程设计.docx

《java课程设计.docx》由会员分享,可在线阅读,更多相关《java课程设计.docx(23页珍藏版)》请在冰豆网上搜索。

java课程设计.docx

java课程设计

存档资料成绩:

 

华东交通大学理工学院

课程设计报告书

 

所属课程名称JAVA课程设计

题目  学生通讯录系统   

   

分院  电信分院   

专业班级11计科—1班

学  号20110210440129      

学生姓名余小宝       

指导教师黄建华  

 

2012年12月28日

华东交通大学理工学院

课程设计任务书

专业计算机科学与技术班级1班姓名余小宝

一、课程设计题目学生通讯录系统

二、课程设计工作:

自2012年12月18日起至2012年12月28止。

三、课程设计的内容要求:

本例的目标是开发一个Java图形界面应用程序,能实现教学测试。

具体功能特点如下:

(1)系统采用数据库存储学生通讯录信息;

(2)实现学生基本信息的按不同条件的查询;

(3)一个界面无法显示所有学生信息,可以实现多页面板显示,并且可以翻动前后页面进行查;

(4)查询统计功能,能够按照姓名、学号、性别、籍贯、专业等条件统计分析;

(5)系统设计包括规划数据的存储、应用界面、应用功能的实现等环节。

学生签名:

余小宝

2012年12月28日

课程设计(论文)评阅意见

序号

项目

等   级

优秀

良好

中等

及格

不及格

1

课程设计态度评价

2

出勤情况评价

3

任务难度评价

4

工作量饱满评价

5

任务难度评价

6

设计中创新性评价

7

论文书写规范化评价

8

综合应用能力评价

综合评定等级

评阅人 职称

20年月日

目 录

第1章课程设计内容及要求.............................................2

第2章类方法的设计与实现.............................................5

第3章程序界面...........................................................6--7

第4章程序代码.........................................................8--18

第5章程序测试..................................................18--19

第6章课程设计心得...................................................20--21

第7章参考文献..................................................................22

 第2章类方法的设计与实现

2.1测试主界面类tongxunlu

该类的设计包括两个方面:

一是应用界面的设计、包括事件驱动;另一个方面就是数据的访问处理,如:

学生信息的查询及对后台数据库的访问。

(1)属性变量设计

Buttonbt1:

查询按钮的初始化;

StringXinxi2[]:

用于存放学生信息数组;

Ints:

数组变量初始;

JLabelzh:

欢迎界面标签;

JPanelin:

查询界面面板。

(2)方法设计

构造方法tongxunlu:

该方法主要实现界面的布局显示、注册事件监听,以及数据的初始化处理(包括调用xinxi1(ResultSetrt)方法读所有学生信息)。

Zhuye():

实现欢迎界面;

Anniu():

按钮的事件处理,实现触发查询主界面窗口;

Xiage():

显示查询主界面;

Duihua(finalStringname):

显示查询对话框,实现按各类条件的查询;

actionPerformed():

动作事件处理,包括转换界面、查询等按钮。

xinxi1(ResultSetrt):

调用数据库,实现信息的显示;

第3章程序界面

3.1:

程序运行,进入欢迎界面;

3.2:

点击“开始查询”按钮,进入查询选项界面;

3.3:

根据不同条件进行选择查询,比如:

点击“按专业查询”按钮,进入如下对话框;

:

3.4:

输入关键字,按“查询”,显示所查询的结果信息。

第4章程序代码

importjava.awt.Button;

importjava.awt.Color;

importjava.awt.Component;

importjava.awt.Font;

importjava.awt.Frame;

importjava.awt.TextArea;

importjava.awt.TextField;

importjava.awt.Window;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.awt.event.WindowAdapter;

importjava.awt.event.WindowEvent;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.sql.Statement;

importjavax.swing.ImageIcon;

importjavax.swing.JDialog;

importjavax.swing.JLabel;

importjavax.swing.JPanel;

/*主类*/

publicclasstongxunluextendsFrameimplementsActionListener{

protectedstaticfinalActionListenerActionListener=null;

privateJPanelin;

Buttonbt1;

JLabellb1;

JLabellbx;

JLabelzh;

ints=0;

intye=0;

/**image**/

ImageIcontu_xuan=newImageIcon("images\\xuan.jpg");//创建加载图片

ImageIconxian=newImageIcon("images\\xian.jpg");//创建加载图片

publictongxunlu(){

zhuye();

this.setVisible(true);

}

/*欢迎界面*/

publicvoidzhuye(){

this.setTitle("学生通讯录系统");

this.setSize(500,430);

this.setLocation(400,150);

this.setLayout(null);

this.setResizable(false);

this.addWindowListener(newWindowAdapter(){//关闭窗口的事件处理

@Override

publicvoidwindowClosing(WindowEvente){

System.exit(0);

}

});

zh=newJLabel(tu_xuan);//图片加载到面板

zh.setSize(this.getSize());

zh.setLocation(0,0);

zh.setVisible(true);

this.add(zh);

lb1=newJLabel("欢迎进入学生通讯录系统!

");

lb1.setSize(400,50);

//lb1.setBackground(Color.BLUE);

lb1.setLocation((zh.getSize().width-lb1.getSize().width)/2,150);

zh.add(lb1);

Fontziti=newFont("楷体",Font.BOLD,30);

lb1.setForeground(Color.blue);

lb1.setFont(ziti);

anniu();

}

/*欢迎界面查询按扭*/

publicvoidanniu(){

bt1=newButton("开始查询");

bt1.setSize(70,35);

bt1.setLocation(205,250);

//bt1.setVisible(true);

bt1.setBackground(Color.green);

zh.add(bt1);

bt1.addActionListener(this);

}

@Override

publicvoidactionPerformed(ActionEvente){

zh.setVisible(false);

xiage();

}

/*查询主界面*/

publicvoidxiage(){

in=newJPanel();

Buttonbt2[]=newButton[6];

finalStringf[]={"按姓名查询","按学号查询","按电话查询","按QQ查询","按专业查询","退出"};

in.setSize(zh.getSize());//获取欢迎界面大小

in.setLocation(0,0);

JLabeltu=newJLabel(xian);//图片加载到面板

tu.setSize(in.getSize());

tu.setLocation(0,0);

tu.setVisible(true);

in.add(tu);

/*按扭摆放位置*/

for(inti=0;i<6;i++){

bt2[i]=newButton(f[i]);

bt2[i].setSize(80,35);

bt2[i].setBackground(Color.pink);

if(i%2==0)

bt2[i].setLocation((in.getSize().width-210)/2,100+(i/2)*60);

else

bt2[i].setLocation((in.getSize().width-210)/2+130,100+(i/2)*60);

in.add(bt2[i]);

}

bt2[0].addActionListener(newActionListener(){//注册"按姓名查询"按扭监听器

@Override

publicvoidactionPerformed(ActionEvente){//"按姓名查询"按扭事件处理

//TODOAuto-generatedmethodstub

duihua(f[0]);

}

});

bt2[1].addActionListener(newActionListener(){//注册按扭监听器

@Override

publicvoidactionPerformed(ActionEvente){//按扭事件处理

//TODOAuto-generatedmethodstub

duihua(f[1]);

}

});

bt2[2].addActionListener(newActionListener(){//注册按扭监听器

@Override

publicvoidactionPerformed(ActionEvente){//按扭事件处理

//TODOAuto-generatedmethodstub

duihua(f[2]);

}

});

bt2[3].addActionListener(newActionListener(){//注册按扭监听器

@Override

publicvoidactionPerformed(ActionEvente){//按扭事件处理

//TODOAuto-generatedmethodstub

duihua(f[3]);

}

});

bt2[4].addActionListener(newActionListener(){//注册按扭监听器

@Override

publicvoidactionPerformed(ActionEvente){//按扭事件处理

//TODOAuto-generatedmethodstub

duihua(f[4]);

}

});

bt2[5].addActionListener(newActionListener(){//注册按扭监听器

@Override

publicvoidactionPerformed(ActionEvente){//按扭事件处理

zh.setVisible(true);

in.setVisible(false);

}

});

in.setVisible(true);

this.add(in);

}

/*对话框界面*/

publicvoidduihua(finalStringname){

finalJDialogtan=newJDialog(this,"查询");//创建弹出对话框

tan.setSize(250,200);

tan.setLocation(this.getLocation().x+50,this.getLocation().y+50);

tan.setLayout(null);

JLabeltishi=newJLabel("请输入"+name.charAt

(1)+name.charAt

(2));//创建提示按扭面板

tishi.setSize(tan.getSize().width,35);

tishi.setLayout(null);

tishi.setLocation(2,25);

tan.add(tishi);

Buttoncha=newButton("查询");//创建查询按扭

cha.setSize(50,20);

finalTextFieldtext=newTextField("");

text.setSize(100,20);

text.setLocation(75,5);

cha.setLocation(text.getLocation().x+text.getSize().width+5,text.getLocation().y);

tishi.add(cha);

tishi.add(text);

tan.setVisible(true);

tan.addWindowListener(newWindowAdapter(){//注册弹出对话框监听器

@Override

publicvoidwindowClosing(WindowEvente){//关闭弹出对话框事件处理

tan.dispose();

}

});

cha.addActionListener(newActionListener(){

@Override

publicvoidactionPerformed(ActionEvente){

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}catch(ClassNotFoundExceptione1){

//TODOAuto-generatedcatchblock

e1.printStackTrace();

}

try{

Connectionconn=DriverManager.getConnection("jdbc:

odbc:

通讯录");

Statementstmt=conn.createStatement();

ResultSetrt=stmt.executeQuery("Select*from通讯录where"+name.charAt

(1)+name.charAt

(2)+"in(\'"+text.getText()+"\')");

xinxi1(rt);

}catch(SQLExceptione1){

System.out.println("数据库连接错误!

");

e1.printStackTrace();

}

}

/*显示所查询的信息对话框*/

publicvoidxinxi1(ResultSetrt){

JLabelXS=newJLabel("姓名学号性别专业电话地址QQ");

XS.setSize(1000,50);

finalJDialogxs=newJDialog();

XS.setLocation(xs.getLocation().x+5,xs.getLocation().y-5);

xs.setTitle("信息显示");

xs.setLayout(null);

xs.setSize(850,470);

xs.setLocation(180,30);

xs.setVisible(true);

xs.add(XS);

Buttonxia=newButton("下一页");

xia.setSize(70,35);

xia.setLocation(410,350);

xs.add(xia);

Buttonshang=newButton("上一页");

shang.setSize(70,35);

shang.setLocation(310,350);

xs.add(shang);

finalxinxi2[]shu=newxinxi2[1000];

try{

s=0;

while(rt.next()){

shu[s]=newxinxi2(rt.getString("姓名"),rt.getString("学号"),rt.getString("性别"),rt.getString("专业"),rt.getString("电话"),rt.getString("地址"),rt.getString("QQ"));

s++;

}rt.close();

}catch(SQLExceptione){}

for(inti=0;i

shu[i].setLocation(5,30+30*(i%10));

if(i>=10)

shu[i].setVisible(false);

xs.add(shu[i]);

}

ye=10;

xia.addActionListener(newActionListener(){

@Override

publicvoidactionPerformed(ActionEvente){

if(ye<=s){

for(inti=ye-10;(i<=ye-1&&i=0);i++)

shu[i].setVisible(false);

for(inti=ye;(i=0);i++){

shu[i].setVisible(true);

xs.add(shu[i]);

}

ye+=10;

}

}

});

shang.addActionListener(newActionListener(){

@Override

publicvoidactionPerformed(ActionEvente){

//TODOAuto-generatedmethodstub

if(ye>=20){

ye-=10;

for(inti=ye;(i=0&&i

shu[i].setVisible(false);

xs.add(shu[i]);

}

for(inti=ye-10;(i<=ye-1&&i>=0&&i

shu[i].setVisible(true);

}

}

});

}

});

}

}

classxinxi2extendsJLabel{

privateJLabellbx;

privateJLabel姓名;

privateJLabel性别;

privateJLabel专业;

privateJLabel学号;

privateJLabel电话;

privateJLabel地址;

priva

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

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

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

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