Java学生成绩信息管理Word文档下载推荐.docx
- 文档编号:5185056
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:76
- 大小:1.18MB
Java学生成绩信息管理Word文档下载推荐.docx
《Java学生成绩信息管理Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Java学生成绩信息管理Word文档下载推荐.docx(76页珍藏版)》请在冰点文库上搜索。
再次执行【插入】时系统提示不可操作,界面如下:
2.1.2查询操作
未执行插入后点击【查询】按钮时:
在完成插入操作后,执行查询,显示如下:
2.2【我的成绩】选项卡
成绩由教师录入,学生没权限录入,因此点击【成绩查询】时,如果教师并没有录入成绩,此时显示如下提示:
当教师已对成绩进行录入后,学生点击【成绩查询】按钮进行如下成绩显示:
至此,学生版成绩信息管理系统功能结束;
3、教师版信息成绩查询界面
3.1【学生信息】选项卡
进入该选项卡后,直接在面板上显示STU表中所有学生的信息,如下所示:
3.1.1录入信息操作
点击【录入信息】按钮,可插入学生信息,如下图所示
输入完整后点击添加,即完成对新信息的录入;
同时在学生信息的主界面上同步显示录入后的信息;
3.1.2查询信息操作
点击【查询信息】按钮,输入所要查询学生的学号,可显示所要查询学生的信息,如下图所示;
3.1.3修改信息操作
点击【修改信息】按钮,选中所要修改学生的记录,可执行学生信息的修改,如下图所示;
输入完成后点击【确定】完成信息的修改,同时在学生信息主界面上同步更新;
3.2【学生成绩】选项卡
进入该选项卡后,直接在面板上显示STU表中所有学生的成绩,如下所示:
3.2.1录入信息操作
点击【录入成绩】按钮,可插入学生成绩,如下图所示
同时在学生成绩的主界面上同步显示录入后的成绩;
3.1.2查询成绩操作
点击【查询成绩】按钮,输入所要查询学生的学号,可显示所要查询学生的成绩,如下图所示;
3.1.3修改成绩操作
点击【修改成绩】按钮,选中所要修改学生的记录,可执行学生成绩的修改,如下图所示;
三、源码(包名:
stuSystem,共10个java文件)
1、登录页面文件:
CheckIn.java
代码:
/*一、本程序实现用户登录界面;
*1、界面包括顶端一张图片,左侧一个图片;
2、中间有用户名、密码两个标签上下排列,同一行还有文本框和密码框上下排列;
3、下面是学生和教师两个单选按钮,供用户选择角色;
4、最下面是确定和取消两个按钮;
二、功能:
实现用户的登录;
在系统相连的数据库中,应有两张表,一张为学生表:
STU,表中有两个字段:
ID和Pwd,均为字符串类型,分别存放学生的姓名和密码;
另一张为教师表:
TCH,表中有两个字段:
ID和Pwd,均为字符串类型,分别存放教师的姓名和密码;
1、数据库成功连接驱动判断;
2、数据库成功登录判断;
3、用户名和密码为空判断;
4、用户身份为空判断;
5、用户名和密码是否正确判断;
6、如学生身份登录正确则跳转至学生成绩信息系统页面;
7、如教师身份登录正确则跳转至教师版学生成绩信息系统页面;
8、点取消按钮退出系统;
*/
packagestuSystem;
importjava.sql.*;
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjava.util.*;
importstuSysFind.Systems;
publicclassCheckInextendsJFrameimplementsActionListener{
JLabellab_name,//定义“用户名”标签;
lab_password,//定义“密码”标签;
lab1,//定义用来显示登录图片的标签,无文字内容;
lab2;
//定义用来显示登录图片的标签,无文字内容;
JTextFieldtext_name;
//定义用来输入用户名的文本框;
JPasswordFieldpwd;
//定义用来输入密码的密码框;
JButtonbut_enter,//定义“登录“按钮;
but_exit;
//定义“退出”按钮;
JRadioButtonrbu_stu,//定义”学生“单选按钮;
rbu_tea;
//定义”教师“单选按钮;
ButtonGroupbgp;
//定义一个按钮组,用来存放所有的单选按钮,以实现只能选其一的功能;
PreparedStatementps=null;
Connectioncon=null;
ResultSetrs=null;
Stringforname="
com.microsoft.sqlserver.jdbc.SQLServerDriver"
;
Stringurl="
jdbc:
sqlserver:
//127.0.0.1:
1433;
DatabaseName=javaTest"
Stringuser="
sa"
Stringpassword="
fang"
Vectortable=null;
publicstaticvoidmain(String[]args){
CheckInci=newCheckIn();
}
publicCheckIn(){//定义无参构造函数,用来初始化显示窗体;
super("
学生成绩管理信息系统"
);
this.setLayout(null);
//窗体在默认情况下是边界布局,此时控件的边界设置函数不起作用,需将边界布局清空;
面板同理;
lab1=newJLabel(newImageIcon("
pic\\sysPic.jpg"
));
lab1.setBounds(0,0,450,100);
lab2=newJLabel(newImageIcon("
pic\\pic3_2.png"
lab2.setBounds(25,130,83,114);
lab_name=newJLabel("
用户名:
"
JLabel.CENTER);
lab_name.setBounds(160,140,50,30);
text_name=newJTextField(5);
text_name.setBounds(220,145,100,20);
lab_password=newJLabel("
密码:
lab_password.setBounds(160,180,50,30);
pwd=newJPasswordField(8);
pwd.setBounds(220,185,100,20);
bgp=newButtonGroup();
rbu_stu=newJRadioButton("
学生"
rbu_stu.setBounds(165,225,70,20);
rbu_tea=newJRadioButton("
教师"
rbu_tea.setBounds(260,225,70,20);
bgp.add(rbu_stu);
bgp.add(rbu_tea);
but_enter=newJButton("
登录"
but_enter.setBounds(148,270,80,30);
but_enter.addActionListener(this);
but_exit=newJButton("
退出"
but_exit.setBounds(245,270,80,30);
but_exit.addActionListener(this);
this.add(lab1);
this.add(lab2);
this.add(lab_name);
this.add(text_name);
this.add(lab_password);
this.add(pwd);
this.add(rbu_stu);
this.add(rbu_tea);
this.add(but_enter);
this.add(but_exit);
ImageIconimageIcon=newImageIcon("
pic\\sysIcon.jpg"
this.setIconImage(imageIcon.getImage());
this.setResizable(false);
this.setSize(450,350);
this.setLocation(450,260);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
publicvoidjudge(Stringforname,StringnameInput,StringpwdInput){
try{
Class.forName(forname);
}catch(ClassNotFoundExceptionce){//判断驱动是否正确安装;
JOptionPane.showMessageDialog(this,ce.getMessage()+"
isnotfound"
this.dispose();
}
if(nameInput.equals("
)){//判断用户名是否为空;
JOptionPane.showMessageDialog(this,"
请输入用户名!
text_name.grabFocus();
return;
if(pwdInput.equals("
)){//判断密码是否为空;
请输入密码!
pwd.grabFocus();
if((!
rbu_stu.isSelected())&
&
(!
rbu_tea.isSelected())){//判断身份选择是否为空;
请选择学生或教师身份!
publicvoidactionPerformed(ActionEvente){
if(e.getSource().equals(but_enter)){
//System.out.println("
enter"
StringnameInput=text_name.getText().trim();
StringpwdInput=pwd.getText().trim();
this.judge(forname,nameInput,pwdInput);
if(rbu_stu.isSelected()){//如果选中了学生界面;
try{
con=DriverManager.getConnection(url,user,password);
ps=con.prepareStatement("
select*fromSTUwhereID=?
ps.setString(1,nameInput);
rs=ps.executeQuery();
while(rs.next()){
if(rs.getString("
ID"
).equals(nameInput)&
rs.getString("
Pwd"
).equals(pwdInput)){//如果用户输入的用户名和密码与数据库里学生的名单一致;
JOptionPane.showMessageDialog(this,"
登录成功!
newStuPage(nameInput);
//新建一个学生界面;
break;
}else{
登录失败,请正确输入用户名和密码!
text_name.grabFocus();
//文本框获取光标;
text_name.selectAll();
//选中文本框所有内容,待改;
}
}
}catch(SQLExceptione2){
JOptionPane.showMessageDialog(this,e2.getMessage());
}
finally{
try{
if(con!
=null){
con.close();
if(ps!
ps.close();
if(rs!
rs.close();
}catch(Exceptione2){}
}elseif(rbu_tea.isSelected()){//如果选中了教师界面;
select*fromTCHwhereID=?
while(rs.next()){//对于非空结果集进行循环查询;
).equals(pwdInput)){//如果用户输入的用户名和密码与数据库里教师的名单一致;
newTeaPage();
//新建一个教师界面;
//文本框获取光标;
//选中文本框所有内容,待改;
}
if(e.getSource().equals(but_exit)){
}
2、学生界面文件:
StuPage.java
publicclassStuPageextendsJFrameimplementsActionListener{
JTabbedPanetab;
//定义一个选项卡组,用来存放多个页面;
JPanelpan_message,//定义学生信息页面;
pan_score;
//定义学生成绩页面;
JLabellab_backGround;
JLayeredPanelp;
//定义分层面板,用于显示不同层次的效果;
JButtonbut_insert,//定义信息面板上的插入按钮;
but_query,//定义信息面板上的查询按钮;
but_query2,//定义成绩面板上的查询按钮;
//定义退出系统按钮;
JLabellab_mes,//定义”我的信息:
“标签;
lab_mes2,//定义“我的成绩单:
”标签;
lab_num,//定义”学号:
lab_num2,
lab_name,//定义”姓名:
lab_gender,//定义”性别:
lab_class,//定义”班级:
lab_depart,//定义”院系:
lab_En,//定义“英语”标签;
lab_Math,//定义“数学”标签;
lab_Com,//定义“计算机”标签;
lab_Lin,//定义“Linux”标签;
lab_Java;
//定义“Java”标签;
JTextFieldt_num,//定义”学号:
“输入文本框;
t_num2,
t_name,//定义”姓名:
t_gender,//定义”性别:
t_class,//定义”班级:
t_depart,//定义”院系:
“输入文本框;
t_En,//定义”英语:
t_Math,//定义”数学:
t_Lin,//定义”Linux:
t_Com,//定义”计算机:
t_Java;
//定义”Java:
JComboBoxcomb;
//定义性别下拉列表框;
stuInfosInfo;
StringID;
publicStuPage(StringnameInput){
学生成绩信息-学生版"
//定义窗体标题;
ID=nameInput;
//清除窗体边界格式;
//lp=newJLayeredPane();
//注意这种定义新分层面板的方式不对;
lp=this.getLayeredPane();
//获取JLayeredPane
lab_backGround=newJLabel(newImageIcon("
pic\\back.jpg"
//定义背景标签;
tab=newJTabbedPane();
//定义选项卡组;
but_insert=newJButton("
插入"
but_query=newJButton("
查询"
but_query2=newJButton("
成绩查询"
EXIT"
but_exit.setFont(newFont("
Font.BOLD,14));
but_exit.setBackground(Color.LIGHT_GRAY);
lab_mes=newJLabel("
我的信息"
//定义”我的信息:
l
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 学生 成绩 信息管理