java程序设计之学生选课管理系统.docx
《java程序设计之学生选课管理系统.docx》由会员分享,可在线阅读,更多相关《java程序设计之学生选课管理系统.docx(24页珍藏版)》请在冰豆网上搜索。
java程序设计之学生选课管理系统
《Java程序设计》结课报告
课程名称
设计题目
专业班级
JAVA程序设计学生选课管理系统
学
号
学生姓名
教
师
信息工程系
《Java程序设计》结课报告
目
录
目
录..........................................................................................................................III
第1章系统简介........................................................................................................4
1.1系统功能..........................................................................................................4
第2章表的设计........................................................................................................5
2.1系统数据库表结构:
......................................................................................5
第3章
连接数据库的实现........................................................................................6
第4章系统详细设计................................................................................................7
4.1系统登录模块设计......................................................................................7
4.2系统主界面详细设计................................................................................11
4.3学生管理模块设计....................................................................................16
4.4课程管理模块设计....................................................................................20
4.5选课管理模块设计.........................................................................................23
答辩记录......................................................................................................................27
成绩考核表..................................................................................................................27
《Java程序设计》结课报告学生选课管理系统
第1章
系统简介
1.1系统功能
本系统主要功能:
1)管理学生信息,其中包括添加,删除,修改等操作。
2)管理课程信息,其中包括添加,删除,修改等操作。
3)管理选课信息,其中包括添加,删除,修改等操作。
4)查询信息,其中包括查询学生信息,查询课程信息,查询选课信息.。
5)维护系统,备份所有表格为Excel格式。
1.2系统引用例子
课本P237页13.10
课本P364页20.5
课本P389页20.10
课本P387页21.6
《Java程序设计》结课报告
第2章
2.1系统数据库表结构:
表的设计
在此小节将系统数据库表结构用表的形式画出,如:
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
Sno
nvarchar
50
P
Notnull
学号
Sname
nvarchar
50
Notnull
学生名字
Sx
nvarchar
50
Notnull
学生系别
表2.1学生信息表(S)
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
Cno
nvarchar
50
P
Notnull
课程号
Cname
nvarchar
50
Notnull
课程名字
表2.2课程信息表(C)
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
Sno
nvarchar
50
P
Notnull
学号
Cno
nvarchar
50
P
Notnull
课程号
C
nvarchar
50
Notnull
分数
表2.3选课信息表(SC)
《Java程序设计》结课报告
第3章
连接数据库的实现
此节可简写,可适当贴一些SQLServer数据库连接的关键代码,如:
ConnectiondbConn=null;
try{
Class.forName("net.sourceforge.jtds.jdbc.Driver");
dbConn=DriverManager.getConnection(
"jdbc:
jtds:
sqlserver:
//localhost:
1433/"
+"student","sa","123");
}catch(Exceptione){
e.printStackTrace();
}
returndbConn;//返回Connection对象
《Java程序设计》结课报告
第4章
4.1系统登录模块设计
1、运行效果图
系统详细设计
图4.1.1登陆界面
图4.1.2登陆成功
图4.1.2登陆失败
《Java程序设计》结课报告
2、主要代码
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjava.sql.*;
publicclassUserextendsJFrame{
privateJLabeluse,password;
privateJTextFieldk1;//用户名输入框
privateJPasswordFieldk2;//密码输入框
privateJButtonb1,b2;
//登录窗口
publicUser(JFramef){
super("系统登录");
Containerc=getContentPane();
c.setLayout(newFlowLayout());
use=newJLabel("username:
");
use.setFont(newFont("Serif",Font.PLAIN,20));
password=newJLabel("password:
");
password.setFont(newFont("Serif",Font.PLAIN,20));
k1=newJTextField(12);
k2=newJPasswordField(12);
b1=newJButton("登录");
b2=newJButton("退出");
//设置登录方法
BHandlerb=newBHandler();
EXITd=newEXIT();
b1.addActionListener(b);
b2.addActionListener(d);
//添加控件
c.add(use);
c.add(k1);
c.add(password);
c.add(k2);
c.add(b1);
c.add(b2);
setBounds(600,300,250,150);
setVisible(true);
setResizable(false);
《Java程序设计》结课报告
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
//主函数
publicstaticvoidmain(String[]args){
Userf1=newUser(newJFrame());
}
//登录按钮方法
privateclassBHandlerimplementsActionListener{
publicvoidactionPerformed(ActionEventevent){
if(k1.getText().equals("")||k2.getText().equals("")){
JOptionPane.showMessageDialog(User.this,"
用户名密码不能为空!
");
}
else{
Statementstmt=null;
ResultSetrs=null;
Stringsql;
sql="select*fromadminwhere
username='"+k1.getText()+"'";
try{
ConnectiondbConn1=Conn.CONN();
stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INS
ENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(sql);
if(rs.next()){
Stringxm=rs.getString("password");
if(k2.getText().equals(xm.trim())){JOptionPane.showMessageDialog(User.this,"登录成功");
dispose();
newMenu();//管理窗口
}
else{JOptionPane.showMessageDialog(User.this,"密码错误");}
}
else{JOptionPane.showMessageDialog(User.this,"用户名错误");}rs.close();
stmt.close();
}
《Java程序设计》结课报告
catch(SQLExceptione){JOptionPane.showMessageDialog(User.this,"SQL错误信息:
"+e.getMessage());
}
}
}
}
//退出方法结束
privateclassEXITimplementsActionListener{publicvoidactionPerformed(ActionEventeven){
System.exit(0);
}
}
}//父类结束
《Java程序设计》结课报告
4.2系统主界面详细设计
1、运行效果图
图4.2.1登陆成功后界面
图4.2.2学生管理菜单
图4.2.2课程管理菜单
图4.2.2选课管理菜单
图4.2.2查询管理菜单
《Java程序设计》结课报告
2、实现代码:
添加数据时,若遇到必须信息未填写、不能重复的信息在数据库中已存在,都会提示无法添加及其错误原因。
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
publicclassMenuextendsJFrameimplementsActionListener{Addstu增加学生界面;
Updatastu修改学生界面;
Delstu删除学生界面;
AddC增加课程界面;
DelC删除课程界面;
UpdateC修改课程界面;
AddSC增加选课界面;
DelSC删除选课界面;
UpdateSC修改选课界面;
Selstu学生查询界面;
Backup备份界面;
JPanelpCenter;
CardLayoutcard=null;
JLabellabel=null;
JMenuBarmb=newJMenuBar();//菜单栏
JMenum1=newJMenu("学生管理");
JMenuItemadd1=newJMenuItem("①添加学生学籍
JMenuItemupdata1=newJMenuItem("②更新学生学籍
JMenuItemdelete1=newJMenuItem("③删除学生学籍JMenum2=newJMenu("课程管理");
");
");
");
JMenuItemadd2=newJMenuItem("①增加课程
JMenuItemupdata2=newJMenuItem("②更新课程
JMenuItemdelete2=newJMenuItem("③删除课程JMenum3=newJMenu("选课管理");
");
");
");
JMenuItemadd3=newJMenuItem("①成绩录入
");
《Java程序设计》结课报告
JMenuItemupdata3=newJMenuItem("②成绩修改
JMenuItemdelete3=newJMenuItem("③成绩删除JMenum4=newJMenu("查询管理");
");
");
JMenuItem学生查询=newJMenuItem("①查询信息
");
JMenuItembackup=newJMenuItem("②备份信息JMenuItemm5=newJMenuItem("系统退出");
Fontt=newFont("sanerif",Font.PLAIN,12);publicMenu(){
this.setTitle("学生选课管理系统");
try
");
{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}
catch(Exceptione){System.err.println("不能设置外观:
"+e);}//组合菜单
addMenu1();
addMenu2();
addMenu3();
addMenu4();
addJMenuBar();
setJMenuBar(mb);
label=newJLabel("欢迎使用江西理工大学应科院选课管理系统
",JLabel.CENTER);
label.setFont(newFont("宋体",Font.BOLD,25));label.setHorizontalTextPosition(SwingConstants.CENTER);
label.setForeground(Color.red);
//点击事件
add1.addActionListener(this);
updata1.addActionListener(this);
delete1.addActionListener(this);
m5.addActionListener(this);
add2.addActionListener(this);
delete2.addActionListener(this);
updata2.addActionListener(this);
add3.addActionListener(this);
delete3.addActionListener(this);
updata3.addActionListener(this);
学生查询.addActionListener(this);
《Java程序设计》结课报告
backup.addActionListener(this);
card=newCardLayout();
pCenter=newJPanel();
pCenter.setLayout(card);
增加学生界面=newAddstu();
修改学生界面=newUpdatastu();
删除学生界面=newDelstu();
增加课程界面=newAddC();
删除课程界面=newDelC();
修改课程界面=newUpdateC();
增加选课界面=newAddSC();
删除选课界面=newDelSC();
修改选课界面=newUpdateSC();
学生查询界面=newSelstu();
备份界面=newBackup();
pCenter.add("欢迎界面",label);
pCenter.add("增加学生界面",增加学生界面);
pCenter.add("修改学生界面",修改学生界面);
pCenter.add("删除学生界面",删除学生界面);
pCenter.add("增加课程界面",增加课程界面);
pCenter.add("删除课程界面",删除课程界面);
pCenter.add("修改课程界面",修改课程界面);
pCenter.add("增加选课界面",增加选课界面);
pCenter.add("删除选课界面",删除选课界面);
pCenter.add("修改选课界面",修改选课界面);
pCenter.add("学生查询界面",学生查询界面);
pCenter.add("备份界面",备份界面);
add(pCenter,BorderLayout.CENTER);
validate();
setVisible(true);
setBounds(400,150,600,380);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);addWindowListener(newWindowAdapter(){//关闭程序时的操作
publicvoidwindowClosing(WindowEvente){System.exit(0);}
});
validate();
《Java程序设计》结课报告
}
privatevoidaddJMenuBar(){
mb.add(m1);mb.add(m2);mb.add(m3);mb.add(m4);mb.add(m5);
}
privatevoidaddMenu4(){
m4.add(学生查询);
m4.add(backup);
m4.setFont(t);
}
privatevoidaddMenu3(){
m3.add(add3);
m3.add(updata3);
m3.add(delete3);
m3.setFont(t);
}
privatevoidaddMenu2(){//将菜单加入到菜单栏中m2.add(add2);
m2.add(updata2);
m2.add(delete2);
m2.setFont(t);
}
privatevoidaddMenu1(){
m1.add(add1);
m1.add(updata1);
m1.add(delete1);
m1.setFont(t);//字体
}
publicvoidactionPerformed(ActionEvente){
Objectobj=e.getSource();
if(obj==m5){System.exit(0);}
else{if(obj==add1){
card.show(pCenter,"增加学生界面");
}
else{if(obj==updata1){
card.show(pCenter,"修改学生界面");
}
else{if(obj==delete1){
card.show(pCenter,"删除学生界面");
《Java程序设计》结课报告
}
else{if(obj==add2){
card.show(pCenter,"增加课程界面");
}
else{if(obj==delete2){
card.show(pCenter,"删除课程界面");
}
else{if(obj==updata2){
card.show(pCenter,"修改课程界面");
}
else{if(obj==add3){
card.show(pCenter,"增加选课界面");
}
else{if(obj==delete3){
card.show(pCenter,"删除选课界面");
}
else{if(obj==updata3){
card.show(pCenter,"修改选课界面");
}
else{if(obj==学生查询){
card.show(pCenter,"学生查询界面");
}
else{if(obj==backup){
card.show(pCenter,"备份界面");
}
}}
}}}}}}}}}}
publicstaticvoidmain(String[]args){newMenu();
}
}
4.3学生管理模块设计
1、运行效果图
《Java程序设计》结课报告
图4.3.1添加学生学籍
图4.3.1修改学生学籍
图4.3.1删除学生学籍
2、实现代码:
Addstu.java/Updatastu.java/Delstu.java
importjava.awt.*;
importjavax.swing.*;
importjava.sql.*;
importjava.awt.event.*;
《Java程序设计》结课报告
publicclassAddstuextendsJPanelimplementsActionListener{
JTextField学号,姓名,系别;
JButton录入;
publicAddstu(){
try
{UIManage