基于Java的学生管理系统Word文档格式.docx
- 文档编号:20085578
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:22
- 大小:95.43KB
基于Java的学生管理系统Word文档格式.docx
《基于Java的学生管理系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于Java的学生管理系统Word文档格式.docx(22页珍藏版)》请在冰豆网上搜索。
在本节中将来开发学生界面,在学生界面中,学生可以对自己的信息进行查询,在第一次登录时还可以对自己的信息进行插入,并且学生能够查询自己的成绩。
21.4.1界面设计
因为学生要完成对信息和成绩的操作,所以这里的设计是在界面中定义两个菜单,分别进行信息和成绩的操作。
因为对信息的操作包括插入和查询,所以还需要在信息菜单下定义“插入”和“查询”两个子菜单
21.4.2程序开发
•对界面进行设计后,就可以进行程序开发。
同样首先是创建一个窗口,在窗口中要创建两个菜单,并且在信息菜单下还要创建“插入”和“查询”两个子菜单。
•【范例】示例代码是一个学生界面程序。
21.4.3开发插入学生界面
•在学生界面中单击“信息”菜单下的“插入”子菜单,就会进入学生插入界面,在该界面中学生可以输入自己的信息。
•【范例】示例代码是一个学生插入信息界面程序。
21.4.4查询学生信息界面
•学生第一次插入信息后,老师是可以对学生的信息进行修改和删除的。
除此之外,学生还可以查询自己被修改后的信息,在信息菜单下有一个查询子菜单,单击该菜单就触发事件,从而进入查询学生信息界面。
•【范例】示例代码是查询学生信息界面。
21.4.5查询成绩信息
•在学生界面中还有一个“成绩”菜单,在学生的界面该菜单下只有一个“查询”子菜单。
单击“查询”子菜单,将触发事件,进入到查询成绩界面。
•【范例】示例代码是一个查询成绩界面程序。
21.5综合练习
•1.参考本章中学生界面,开发学生系统中的老师界面。
•【提示】老师界面和学生界面是非常类似的,但是也是存在很多不一样的地方的。
首先在老师界面中能够对学生的信息除了插入和查询之外,还能够对学生的信息进行修改和删除,这样就需要在“信息”菜单下增加“修改”和“删除”两个子菜单,也从而需要开发修改学生信息界面和删除学生信息界面。
•在学生界面中只能够进行对程序的查询,在老师界面中不但能够对学生的信息进行查询,还能够对学生的信息进行修改、插入和删除。
同样也是需要增加相应的子菜单和对应的界面。
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjava.util.*;
importjavax.swing.event.*;
importjava.sql.*;
classAddStudentextendsJFrameimplementsActionListener
{
JLabelJL=newJLabel("
添加基本信息"
JLabel.CENTER);
//使用文本创建一个标签对象
JLabelJLNumber=newJLabel("
学号:
"
);
//使用文本创建一个标签对象
JTextFieldJTNumber=newJTextField();
//创建一个文本框对象
JLabelJLName=newJLabel("
姓名:
JTextFieldJTName=newJTextField();
JLabelJLClass=newJLabel("
班级:
JTextFieldJTClass=newJTextField();
JLabelJLsex=newJLabel("
性别:
ButtonGroupBG=newButtonGroup();
//创建一个ButtonGroup组件对象
JRadioButtonJRB1=newJRadioButton("
男"
//创建一个单选按钮对象
JRadioButtonJRB2=newJRadioButton("
女"
JLabelJL1=newJLabel("
学院:
JTextFieldJT1=newJTextField();
JButtonJBAdd=newJButton("
添加"
//创建按钮对象
JButtonJBNext=newJButton("
重置"
Stringsql="
;
//定义一个字符串
publicAddStudent()//创建AddStudent构造函数
{
this.setTitle("
添加学生信息"
//设置窗口标题
this.setLayout(null);
//设置窗口布局管理器
JL.setBounds(100,30,200,40);
//设置标签的初始位置
this.add(JL);
//将标签添加到容器
JLNumber.setBounds(100,80,100,20);
//设置学号标签的初始位置
this.add(JLNumber);
//将学号标签添加到容器
JTNumber.setBounds(200,80,80,20);
//设置文本框的初始位置
this.add(JTNumber);
//将文本框添加到容器
JLName.setBounds(100,120,60,20);
//设置姓名标签的初始位置
this.add(JLName);
//将姓名标签添加到容器
JTName.setBounds(200,120,80,20);
this.add(JTName);
JLsex.setBounds(100,160,100,20);
//设置性别标签的初始位置
this.add(JLsex);
//将性别标签添加到容器
JRB1.setBounds(200,160,40,20);
//设置单选按钮的初始位置
JRB2.setBounds(300,160,40,20);
this.add(JRB1);
//添加单选按钮组件
this.add(JRB2);
BG.add(JRB1);
//将单选按钮添加到ButtonGroup组件
BG.add(JRB2);
JLClass.setBounds(100,240,60,20);
//设置班级标签的初始位置
this.add(JLClass);
//将班级标签添加到容器
JTClass.setBounds(200,240,80,20);
this.add(JTClass);
JL1.setBounds(100,280,60,20);
//设置学院标签的初始位置
this.add(JL1);
//将学院标签添加到容器
JT1.setBounds(200,280,80,20);
//设置文本框的初始位置
this.add(JT1);
//将文本框添加到容器
JBAdd.setBounds(80,320,90,20);
//设置添加按钮的初始位置
this.add(JBAdd);
//将添加按钮添加到容器
JBAdd.addActionListener(this);
//给按钮添加监听器
JBNext.setBounds(190,320,90,20);
//设置重置按钮的初始位置
this.add(JBNext);
//将重置按钮添加到容器
JBNext.addActionListener(this);
this.setBounds(10,10,500,400);
//设置窗口尺寸大小
this.setVisible(true);
//设置窗口的可见性
addWindowListener(newWindowAdapter()
{publicvoidwindowClosing(WindowEvente)
System.exit(0);
}
});
publicvoidactionPerformed(ActionEvente)
if(e.getSource()==JBAdd)//处理"
事件
{
Stringsnumber=JTNumber.getText();
//将文本框中包含的文本传给字符串snumber
Stringsname=JTName.getText();
//将文本框中包含的文本传给字符串sname
Stringsclass=JTClass.getText();
//将文本框中包含的文本传给字符串sclass
Stringssex="
//返回单选按钮的值
if(JRB1.isSelected())
ssex="
Stringscollect=JT1.getText();
//将文本框中包含的文本传给字符串scollect
sql="
select*fromstudentwhereId='
+snumber+"
'
//检索出Id等于snumber的学生的所有信息
try//异常处理
{
Class.forName("
sun.jdbc.odbc.JdbcOdbcDriver"
//加载驱动程序
Connectioncot=DriverManager.getConnection("
jdbc:
odbc:
student1"
"
//打开数据库连接,student1为数据源名称
Statementstm=cot.createStatement();
//提交查询
ResultSetrs=stm.executeQuery(sql);
//取得查询结果
if(rs.next())//判断结果是否存在
JOptionPane.showMessageDialog(null,"
该号已经存在!
//通过showMessageDialog()方法打印信息
else
{
sql="
insertintostudentvalues('
'
+sname+"
+sclass+"
+ssex+"
+scollect+"
)"
//插入一组数据
inti=stm.executeUpdate(sql);
//对数据库进行更新
if(i>
0)
JOptionPane.showMessageDialog(null,"
添加成功!
else
删除失败!
}
}catch(Exceptionee)
}
}
if(e.getSource()==JBNext)//处理"
JTNumber.setText(null);
//设置文本的text值为null
JTName.setText(null);
//设置文本的text值为null
JTClass.setText(null);
JT1.setText(null);
publicstaticvoidmain(Stringargs[])
newAddStudent();
}
importjava.util.Vector;
classChengJiStudentextendsJFrameimplementsActionListener
查询成绩"
请输入学号:
//创建一个文本框对象
语文:
数学:
JLabelJL2=newJLabel("
JTextFieldJT2=newJTextField();
JButtonJBSet=newJButton("
查询"
//创建按钮对象
//定义一个字符串
publicChengJiStudent()//创建SetGrade构造函数
查询成绩"
//设置窗口标题
//设置窗口布局管理器
JL.setForeground(Color.red);
//设置标签的前景色
JL.setFont(newjava.awt.Font("
宋体"
Font.PLAIN,19));
//设置标签的字体
//设置标签的初始位置
//将标签添加到容器
//设置学号标签的初始位置
//将学号标签添加到容器
//设置文本框的初始位置
//将文本框添加到容器
JLName.setBounds(100,160,60,20);
//设置姓名标签的初始位置
//将姓名标签添加到容器
JTName.setBounds(200,160,80,20);
//将文本框添加到容器
JL2.setBounds(100,240,80,20);
//设置班级标签的初始位置
this.add(JL2);
//将班级标签添加到容器
JT2.setBounds(200,240,80,20);
this.add(JT2);
JLClass.setBounds(100,280,60,20);
//设置语文标签的初始位置
//将语文标签添加到容器
JTClass.setBounds(200,280,80,20);
JL1.setBounds(100,320,60,20);
//设置数学标签的初始位置
//将数学标签添加到容器
JT1.setBounds(200,320,80,20);
JBSet.setBounds(80,120,90,20);
////设置查询按钮的初始位置
this.add(JBSet);
//将查询按钮添加到容器
JBSet.addActionListener(this);
//给按钮添加监听器
JBNext.setBounds(190,120,90,20);
//设置重置按钮的初始位置
//将重置按钮添加到容器
//设置窗口尺寸大小
//设置窗口的可见性
{
if(e.getSource()==JBSet)//处理"
//将文本框中包含的文本传给字符串snumber
//将文本框中包含的文本传给字符串sname
//将文本框中包含的文本传给字符串sclass
//将文本框中包含的文本传给字符串scollect
Stringsbir=JT2.getText();
//将文本框中包含的文本传给字符串sbir
select*fromgradewhereId='
//检索出Id等于snumber的学生的所有信息
{
//加载驱动程序
//打开数据库连接,student1为数据源名称
//提交查询
//取得查询结果
if(rs.next())//判断结果是否存在
{
Stringname=rs.getString
(2);
//获取当前行中指定列的值,并将返回的字符串对象赋给name
JTName.setText(name);
//将字符串name显示在文本框中
Stringclas=rs.getString(3);
//获取当前行中指定列的值,并将返回的字符串对象赋给clas
JTClass.setText(clas);
//将字符串clas显示在文本框中
Stringcollect=rs.getString(5);
//获取当前行中指定列的值,并将返回的字符串对象赋给collect
JT1.setText(collect);
//将字符串collect显示在文本框中
Stringbir=rs.getString(6);
//获取当前行中指定列的值,并将返回的字符串对象赋给bir
JT2.setText(bir);
//将字符串bir显示在文本框中
intn=stm.executeUpdate(sql);
//对数据库进行更新
if(n>
0)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Java 学生 管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)