JAVA编写的学生信息管理系统.docx
- 文档编号:24098856
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:59
- 大小:151.58KB
JAVA编写的学生信息管理系统.docx
《JAVA编写的学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《JAVA编写的学生信息管理系统.docx(59页珍藏版)》请在冰豆网上搜索。
JAVA编写的学生信息管理系统
总体设计
本系统共包括8个java源文件和一个SQLServer数据库。
1.类之间的关系如图1所示。
2.Java源文件及其功能如表1所示
表1源文件功能简介
序号
文件名
主要功能
备注
1
StudentManagers.java
学生信息管理系统的访问权限
含main方法并且权限唯一
2
Landat.java
菜单选项
3
StudentSituation.java
录入学生基本信息
4
ModifySituation.java
修改学生基本信息
5
Inquest.java
查询学生基本信息
6
Delete.java
删除学生基本信息
7
Layoututil.java
登陆界面布局
8
Jdbcenroll.java
负责与数据库进行连接
二、详细设计
1.主类StudentManagers.java
(1)成员变量(表2)
表2成员变量
成员变量描述
变量类型
名称
Txtname,txtpwd
TextField
管理员姓名,管理员密码
btnin
JButton
登陆
(2)方法(表3)
表3方法
方法名
功能
备注
main
启动学生信息管理系统
主函数
StudentManagers
设置登陆访问权限
构造方法
actionPerformed
处理ActionEvent事件
接口方法
(3)源代码StudentManagers.java
importjava.awt.BorderLayout;
importjava.awt.Component;
importjava.awt.Container;
importjava.awt.GridBagConstraints;
importjava.awt.GridBagLayout;
importjava.awt.Insets;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.TextEvent;
importjava.awt.event.TextListener;
importjavax.swing.BorderFactory;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JOptionPane;
importjavax.swing.JPanel;
importjavax.swing.JPasswordField;
importjavax.swing.JTextField;
publicclassStudentManagers{
staticfinalJFramemainf=newJFrame();
JLabelwelcome=newJLabel("欢迎访问学生信息管理系统!
");
JLabellabname=newJLabel("请输入管理员姓名:
");
publicJTextFieldtxtname=newJTextField();
JLabellabpwd=newJLabel("请输入密码:
");
publicJPasswordFieldtxtpwd=newJPasswordField();
JButtonbtnin=newJButton("进 入");
JPanelp;
publicStudentManagers()
{
p=newJPanel();
p.removeAll();
p.setSize(400,400);
txtname.requestFocus();
txtname.setText("");
txtpwd.setText("");
p.setBorder(BorderFactory.createLoweredBevelBorder());
p.setLayout(newGridBagLayout());
Layoututil.add(p,GridBagConstraints.NONE,GridBagConstraints.CENTER,0,0,0,0,1,1,labname);
Layoututil.add(p,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER,1,0,1,0,1,1,txtname);
Layoututil.add(p,GridBagConstraints.NONE,GridBagConstraints.CENTER,0,0,0,1,1,1,labpwd);
Layoututil.add(p,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER,1,0,1,1,1,1,txtpwd);
Layoututil.add(p,GridBagConstraints.NONE,GridBagConstraints.CENTER,1,0,3,1,1,1,btnin);
mainf.getContentPane().add(p,BorderLayout.CENTER);
txtname.requestFocus();
btnin.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente)
{
Stringa1=txtname.getText();
Stringa2=txtpwd.getText();
txtname.setText("");
txtpwd.setText("");
booleantof=false;
jdbcenrollchecks=newjdbcenroll();
tof=checks.check(a1,a2);
if(tof==false)
{
JOptionPane.showMessageDialog(null,"姓名输入错误或密码输入错误!
","警告",JOptionPane.WARNING_MESSAGE);
}
elseif(tof==true)
{
newLandat();
mainf.setVisible(false);
}
}
});
JPanelap=newJPanel();
ap.setLayout(newBorderLayout());
ap.add(welcome,BorderLayout.CENTER);
mainf.getContentPane().add(ap,BorderLayout.NORTH);
mainf.setSize(400,400);
mainf.show();
mainf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
publicstaticvoidmain(String[]args)
{
JPanelmainp=newJPanel();
StudentManagersstudent=newStudentManagers();
}
}
2.类Landat.java
(1).成员变量(表4)
表4成员变量
成员变量描述
变量类型
名称
菜单条
JMenuBar
mainmenubar
菜单
JMenu
titlebar,messagebar
菜单项
JMenuItem
inputs,modify,inquest,delete,reset,otherset
标签
JLabel
label
布局管理器
Box
box1,box2,box3,box4,boxH
文本框
JTextField
txtname,txtpwd,txtrepwd
按钮
JButton
ok,cancel
(2)方法(表5)
表5方法
方法名
功能
备注
Landat
选择菜单选项并执行
构造方法
actionPerformed
处理ActionEvent事件
接口方法
reenroll
重新设置管理员姓名和密码
自定义方法
(4)实现代码
importjava.awt.*;
importjava.sql.*;
importjavax.swing.*;
importjava.awt.event.*;
importjava.awt.event.TextEvent;
publicclassLandatextendsJFrameimplementsActionListener{
privatestaticfinalintSytle=0;
JFramef;
JPanelp;//登陆
JPanelp2;//录入
JPanelp3;//修改
JPanelp4;//查询
JPanelp5;//删除
JPanelnewp;
/*finalinti=0;//控制菜单项的打开次数(录入学生基本信息)
finalinti1=0;//控制(修改学生基本信息)项
finalinti2=0;//控制(查询学生基本信息)项
finalinti3=0;//控制(删除学生基本信息)项*/
publicLandat()
{
super.setVisible(false);
f=newJFrame("学生学籍管理系统");
p=newJPanel();
p2=newJPanel();
p3=newJPanel();
p4=newJPanel();
p5=newJPanel();
newp=newJPanel();
Boxbox1=Box.createHorizontalBox();
JLabellabel=newJLabel("欢迎进入学生基本信息管理系统");
label.setForeground(Color.red);
intstyle=Font.ITALIC;
Fontfo=newFont("宋体",style,25);
label.setFont(fo);
box1.add(label,JLabel.CENTER);
p.setLayout(newBorderLayout());
p.add(box1,BorderLayout.CENTER);
ContainercontentPane=f.getContentPane();
contentPane.add(p,BorderLayout.CENTER);
JMenuBarmainmenubar=newJMenuBar();
JMenutitlebar=newJMenu("菜单选项");
JMenuIteminputs=newJMenuItem("录入学生基本信息");
inputs.addActionListener(this);
JMenuItemmodify=newJMenuItem("修改学生基本信息");
modify.addActionListener(this);
JMenuIteminquest=newJMenuItem("查询学生基本信息");
inquest.addActionListener(this);
JMenuItemdelete=newJMenuItem("删除学生基本信息");
delete.addActionListener(this);
titlebar.add(inputs);
titlebar.add(modify);
titlebar.add(inquest);
titlebar.add(delete);
JMenumessagebar=newJMenu("设置选项");
JMenuItemreset=newJMenuItem("重新设置");
reset.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
reenrollreenrolls=newreenroll();
}
});
JMenuItemotherset=newJMenuItem("退出");
otherset.addActionListener(this);
messagebar.add(reset);
messagebar.add(otherset);
mainmenubar.add(titlebar);
mainmenubar.add(messagebar);
f.pack();
f.setJMenuBar(mainmenubar);
f.setSize(400,400);
f.show();
}
publicvoidactionPerformed(ActionEvente){
if(e.getActionCommand()=="录入学生基本信息")
{
p.setVisible(false);
p2.setVisible(false);
p3.setVisible(false);
p4.setVisible(false);
p5.setVisible(false);
StudentSituationstusituation=newStudentSituation(p2);
f.getContentPane().add(p2);
p2.setVisible(true);
}
elseif(e.getActionCommand()=="修改学生基本信息")
{
p.setVisible(false);
p2.setVisible(false);
p3.setVisible(false);
p4.setVisible(false);
p5.setVisible(false);
ModifySituationmodsituation=newModifySituation(p3);
f.getContentPane().add(p3);
p3.setVisible(true);
}
elseif(e.getActionCommand()=="查询学生基本信息")
{
p.setVisible(false);
p2.setVisible(false);
p3.setVisible(false);
p4.setVisible(false);
p5.setVisible(false);
Inquestquest=newInquest(p4);
f.getContentPane().add(p4);
p4.setVisible(true);
}
elseif(e.getActionCommand()=="删除学生基本信息")
{
p.setVisible(false);
p2.setVisible(false);
p3.setVisible(false);
p4.setVisible(false);
p5.setVisible(false);
Deletedeletes=newDelete(p5);
f.getContentPane().add(p5);
p5.setVisible(true);
}
elseif(e.getActionCommand()=="退出")
{
StudentManagersme=newStudentManagers();
f.setVisible(false);
}
}
}
classreenrollextendsJFrame{
JTextFieldtxtname,txtpwd,txtrepwd;
JFrameff;
JPanelpp;
publicreenroll(){
ff=newJFrame();
pp=newJPanel();
txtname=newJTextField(10);
txtpwd=newJTextField(10);
txtrepwd=newJTextField(10);
txtrepwd.addActionListener(newActionListener()
{
publicvoidactionPerformed(ActionEvente)
{
if(!
txtrepwd.getText().equals(txtpwd.getText())){
JOptionPane.showMessageDialog(null,"密码输入错误!
","警告",JOptionPane.WARNING_MESSAGE);
}
}
publicvoidvalueChanged(TextEvente)
{
}
});
JButtonok=newJButton("重新注册");
ok.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente)
{
jdbcenrollreset=newjdbcenroll();
reset.setloads(txtname.getText(),txtpwd.getText());
}
});
JButtoncancel=newJButton("取消");
cancel.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente)
{
ff.setVisible(false);
}
});
Boxbox1=Box.createHorizontalBox();
box1.add(newJLabel("请输入新的管理员姓名:
",JLabel.CENTER));
box1.add(txtname);
Boxbox2=Box.createHorizontalBox();
box2.add(newJLabel("请输入新的管理员密码:
",JLabel.CENTER));
box2.add(txtpwd);
Boxbox3=Box.createHorizontalBox();
box3.add(newJLabel("请确认密码:
",JLabel.CENTER));
box3.add(txtrepwd);
Boxbox4=Box.createHorizontalBox();
box4.add(ok);
box4.add(cancel);
BoxboxH=Box.createVerticalBox();
boxH.add(box1);
boxH.add(box2);
boxH.add(box3);
boxH.add(box4);
boxH.setSize(300,200);
ff.setSize(300,200);
pp.add(boxH,BorderLayout.CENTER);
ff.add(pp);
ff.setVisible(true);
}
}
3.类StudentSituation
(1)成员变量(表6)
表6成员变量
成员变量描述
变量类型
名称
文本框
JTextField
Txtnumber,txtname
组合框
JComboBox
Txtspecial,txtgrade,txtborn
单选按钮
JRadioButton
radioboy
单选按钮
JRadioButton
radiogirl
按钮
JButton
truein,resetin
(2)方法(表7)
表7方法
方法名
功能
备注
StudentSituation
录入学生基本信息
构造方法
actionPerformed
处理ActionEvent事件
接口方法
(3)代码实现
importjava.awt.*;
importjavax.swing.*;
importjava.awt.event.*;
publicclassStudentSituation{
JTextFieldtxtnumber,txtname;
JComboBoxtxtspecial,txtgrade,txtborn;
JRadioButtonradioboy,radiogirl;
ButtonGroupgroup=null;
JButtontruein,resetin;
publicStudentSituation(JPanelpsituation)
{
psituation.removeAll();
psituation.setSize(300,300);
txtnumber=newJTextField(10);
txtname=newJTextField(10);
radioboy=newJRadioButton("男");
radiogirl=newJRadioButton("女");
group=newButtonGroup();
tx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 编写 学生 信息管理 系统