java课程设计报告教室管理系统.docx
- 文档编号:18610187
- 上传时间:2023-08-20
- 格式:DOCX
- 页数:37
- 大小:308.02KB
java课程设计报告教室管理系统.docx
《java课程设计报告教室管理系统.docx》由会员分享,可在线阅读,更多相关《java课程设计报告教室管理系统.docx(37页珍藏版)》请在冰点文库上搜索。
java课程设计报告教室管理系统
课程设计报告
学院、系:
吉林大学珠海学院计算机科学与技术系
专业名称:
网络工程
课程设计科目
java程序课程设计
学生姓名:
王佳
指导教师:
吕健波
完成时间:
2010年9月-11月
教师管理系统
一、设计任务与目标
1)负责教师管理的主界面(用菜单方式打开下面的四个功能界面)
录入教师管理的界面
修改教师管理的界面
查询教师管理的界面
删除教师管理的界面
2)教师数据表的字段要求至少包含:
工号、姓名、年龄、职称、所在系、教授的主要课程、联系电话、联系地址等字段。
要求字段类型设计合理、使用方便。
3)要求界面美观大方、功能实现完整
此程序的设计,主要包括两个主体部分,一是界面部分,二是创建按钮并监听,实现录入,修改,查询,删除等功能。
以前在C++编写过类似的教师管理系统,其主要思路和本题保持一致,但代码不同。
需要准备的工作是创建主界面并完善各项分功能,连接数据库,实现录入和查看同步。
此次设计将会提高我对真正的JAVA程序设计的实战能力,对以前学过的知识融会贯通,并且深化和应用。
意在最终程序可以美观,实用,人性化,尽最大的能力扩充相关分模块。
二、方案设计与论证
针对这道设计题的特点,首先做一个界面,界面中包括相关的分功能,录入,修改,查询,删除等,用surface做界面,分别设置各自的监听器,监听每一个button,并且各个分功能是对应各自的类。
这样的话,有利于用户提出不同修改的要求,此时只要单独修改个别类即可,提高程序的便捷化并且满足不同客户的需要。
在做这道题时遇到最大的障碍就是连接access数据库,因为以前没学过,所以这部分知识完全不会,必须考自学。
自己做这道题与其他设计人员最大的不同就在于将每个分功能,各自单独的写在一个类中,与把所有源代码都写在一个JAVA文件中的方法,更易于修改和编辑。
三、程序框图或流程图,程序清单与调用关系
四、全部源程序清单
packageparent_window;//(packageparentwindow包中的类)
importjava.awt.*;
importjavax.swing.*;
importson_windows.*;
publicclasssurFaceextendsJFrame{
JButtonfindSt,addSt,chanSt,delSt,exitSt;//查找,添加,删除,退出
//构造函数
publicsurFace(){
Containerc=this.getContentPane();
c.setLayout(newGridLayout(2,1));
JPanellowerPanel=newJPanel();
c.setFont(newFont("plain",Font.PLAIN,13));
JLabellabel=newJLabel("欢迎进入教师信息管理系统",SwingConstants.CENTER);
label.setFont(newFont("BOLD",Font.BOLD,30));
c.add(label);
//创建按钮
addSt=newJButton("录入");
addSt.setToolTipText("添加教师信息");
findSt=newJButton("查询");
findSt.setToolTipText("查询信息");
chanSt=newJButton("修改");
chanSt.setToolTipText("修改成绩");
delSt=newJButton("删除");
delSt.setToolTipText("删除信息");
exitSt=newJButton("退出");
exitSt.setToolTipText("安全退出本系统");
lowerPanel.add(findSt);
lowerPanel.add(addSt);
lowerPanel.add(chanSt);
lowerPanel.add(delSt);
lowerPanel.add(exitSt);
c.add(lowerPanel);
//注册监听器,新建独立监听器类查找:
fin(),添加:
ads(),删除:
del(),退出本体统:
ext()
findSt.addActionListener(newfin());
addSt.addActionListener(newads());
chanSt.addActionListener(newcc());
//chanSt.addActionListener(newchan());
delSt.addActionListener(newdel());
exitSt.addActionListener(newext());
}
//main方法,实现主界面
publicstaticvoidmain(Stringargs[]){
surFacesu=newsurFace();
su.setSize(500,400);
su.setTitle("欢迎使用教师管理系统!
");
su.setVisible(true);
}
}
/*
*建立独立事件监听器类ads,处理surFace中“录入”点击事件
*/
packageson_windows;//(packageson_windows包中的类)
(1)
importjava.awt.*;
importjavax.swing.*;
importjava.awt.event.*;
importjava.sql.*;
publicclassadsextendsJFrameimplementsActionListener{
JTextFieldnumberText,nameText,ageText,jobText,departmenText,classText,phoneText,addressText;
JButtonaddButton,clearButton,closeButton;
Containerc2;
JDialogjd;
JDialogjd2;
publicads(){
c2=this.getContentPane();
c2.setLayout(newGridLayout(3,1));
JPanelp1=newJPanel(newGridLayout(8,2));
JPanelp2=newJPanel(newFlowLayout());
//
JLabellogoLabel=newJLabel("ii",SwingConstants.CENTER);
logoLabel.setForeground(Color.black);
logoLabel.setFont(newFont("TRUE",Font.TRUETYPE_FONT,20));
logoLabel.setText("教师信息");
c2.add(logoLabel);
//创建JTextField
numberText=newJTextField();
nameText=newJTextField();
ageText=newJTextField();
jobText=newJTextField();
departmenText=newJTextField();
classText=newJTextField();
phoneText=newJTextField();
addressText=newJTextField();
//添加JTextField
p1.add(newJLabel("工号",SwingConstants.CENTER));
p1.add(numberText);
p1.add(newJLabel("姓名",SwingConstants.CENTER));
p1.add(nameText);
p1.add(newJLabel("年龄",SwingConstants.CENTER));
p1.add(ageText);
p1.add(newJLabel("职称",SwingConstants.CENTER));
p1.add(jobText);
p1.add(newJLabel("所在系",SwingConstants.CENTER));
p1.add(departmenText);
p1.add(newJLabel("主授课程",SwingConstants.CENTER));
p1.add(classText);
p1.add(newJLabel("联系电话",SwingConstants.CENTER));
p1.add(phoneText);
p1.add(newJLabel("联系地址",SwingConstants.CENTER));
p1.add(addressText);
c2.add(p1);
//
addButton=newJButton("添加");
clearButton=newJButton("清除");
closeButton=newJButton("退出");
p2.add(addButton);
p2.add(clearButton);
p2.add(closeButton);
c2.add(p2);
this.setSize(500,400);
this.setTitle("添加教师信息");
//为添加按钮添加监听器(使用匿名内部类处理点击事件)
addButton.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
Stringnumber,name,age,job,departmen,clas,phone,address;
Statementstm;
Stringstr;
intj=0;
number=numberText.getText();
name=nameText.getText();
age=ageText.getText();
job=jobText.getText();
departmen=departmenText.getText();
clas=classText.getText();
phone=phoneText.getText();
address=addressText.getText();
str="insertintodata1values('"+number+"','"+name+"','"+age+"','"+job+"','"+departmen+"','"+clas+"','"+phone+"','"+address+"')";
if(number.equals("")&&name.equals("")&&age.equals("")&&job.equals("")&&departmen.equals("")&&clas.equals("")&&phone.equals("")&&address.equals(""))
j=2;
else
try{
//加载驱动
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//连接数据源forStu
Connectioncon=DriverManager.getConnection("jdbc:
odbc:
forStu","","");
stm=con.createStatement();
j=stm.executeUpdate(str);
con.close();
}catch(ClassNotFoundExceptione1){
}catch(SQLExceptione1){
}
//
jd=newJDialog();
jd.setLayout(newGridLayout(2,1));
jd.setSize(255,100);
JPanelp1=newJPanel();
JPanelp2=newJPanel();
jd.add(p1);
jd.add(p2);
JLabeljl=newJLabel("添加成功!
");
JLabeljl2=newJLabel("不能添加空数据,请从新输入!
");
JLabeljl3=newJLabel("不能为相同数据,请从新输入!
");
JButtonb=newJButton("确定");
if(j==1){
p1.add(jl);
j=0;
}else
if(j==2)
p1.add(jl2);
else
p1.add(jl3);
p2.add(b);
jd.setVisible(true);
b.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
jd.setVisible(false);
}
});
}
});
//添加“清除”键事件监听器
clearButton.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
numberText.setText("");
nameText.setText("");
ageText.setText("");
jobText.setText("");
departmenText.setText("");
classText.setText("");
phoneText.setText("");
addressText.setText("");
}
});
//添加“关闭窗口”按钮事件监听器
closeButton.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
ads.this.setVisible(false);
ads.this.dispose();
}
});
}
//新建类ads的actionPerformed方法,实现surFace中的录入事件界面
publicvoidactionPerformed(ActionEvente){
adsa=newads();
a.setVisible(true);
}
}
(2)
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
publicclassccextendsJFrameimplementsActionListener{
Containerc1;
publiccc(){
c1=this.getContentPane();
c1.setLayout(newGridLayout(4,1));
JPaneljp1=newJPanel();
JPaneljp2=newJPanel();
JPaneljp3=newJPanel();
JLabeljl=newJLabel("请选择要修改那种信息",SwingConstants.CENTER);
jl.setFont(newFont("BOLD",Font.BOLD,30));
c1.add(jl);
JButtonb1=newJButton("联系电话");
JButtonb2=newJButton("联系地址");
JButtonb3=newJButton("取消");
jp1.add(b1);
jp2.add(b2);
jp3.add(b3);
c1.add(jp1);
c1.add(jp2);
c1.add(jp3);
b1.addActionListener(newchan_tel());
b2.addActionListener(newchan_adr());
b3.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
dispose();
}
});
}
publicvoidactionPerformed(ActionEvente){
newcc();
setSize(500,400);
setVisible(true);
}
}
(3)
importjava.awt.*;
importjava.awt.event.*;
importjava.sql.*;
importjavax.swing.*;
publicclasschan_adrextendsJFrameimplementsActionListener{
Containerc1;
JPaneljp1,jp2,jp3,jp4;
JLabeljl,jl2,jl3;
JTextFieldjt1,jt2;
JButtonb1,b2,b3;
JDialogjd;
publicchan_adr(){
c1=this.getContentPane();
c1.setLayout(newGridLayout(4,1));
jl=newJLabel("修改教师联系地址");
jl.setFont(newFont("BOLD",Font.BOLD,30));
jp1=newJPanel();
jp2=newJPanel();
jp3=newJPanel();
jp4=newJPanel();
jp1.add(jl);
c1.add(jp1);
jl2=newJLabel("教师工号:
");
jl3=newJLabel("联系地址:
");
jt1=newJTextField(10);
jt2=newJTextField(10);
jp2.add(jl2);
jp2.add(jt1);
jp3.add(jl3);
jp3.add(jt2);
c1.add(jp2);
c1.add(jp3);
b1=newJButton("确定");
b2=newJButton("清除");
b3=newJButton("退出");
jp4.add(b1);
jp4.add(b2);
jp4.add(b3);
c1.add(jp4);
b1.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
Connectioncon=null;
Statementst;
Stringstr=null;
inti=0;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:
odbc:
forStu","","");
str="updatedata1set联系地址='"+jt2.getText()+"'where工号='"+jt1.getText()+"'";
st=con.createStatement();
i=st.executeUpdate(str);
con.close();
jd=newJDialog();
jd.setVisible(true);
jd.setLayout(newGridLayout(2,1));
JPaneljpp1=newJPanel();
JPaneljpp2=newJPanel();
JLabeljll1=newJLabel("修改成功!
");
JLabeljll2=newJLabel("信息不存在,请核实后重试!
");
if(i==1)
jpp1.add(jll1);
else
jpp1.add(jll2);
JButtonjbb=newJButton("确定");
jpp2.add(jbb);
jd.add(jpp1);
jd.add(jpp2);
jd.setSize(255,100);
jbb.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
jd.setVisible(false);
}
});
}catch(ClassNotFoundExceptione1){
}catch(SQLExceptione1){
}
}
});
b2.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
jt1.setText("");
jt2.setText("");
}
});
b3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 课程设计 报告 教室 管理 系统