您的当前位置:首页正文

JAVA学生管理系统

2020-07-16 来源:钮旅网
JAVA学生管理系统

JAVA学生管理系统

编辑整理:

尊敬的读者朋友们:

这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(JAVA学生管理系统)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快 业绩进步,以下为JAVA学生管理系统的全部内容。

0

JAVA学生管理系统

一、需求分析

1.实现对班级和学生基本资料的录入,包括学生的学号,姓名,性别,所学专业,家庭住址以及出生年月等。

2。能够实现对班级学生基本资料的修改。 3。根据学号对学生资料进行查询。 4。能够删除学生的资料。

二、概要设计

根据本次课程设计的目的和以上的问题描述,把该班级管理系统分为五个模块:录入模块(StudentSituation)、查询模块(Inques)、删除模块(Delete)和修改模块(ModifySituation)。各个模块包括对学生学号,姓名,所学专业,家庭住址,出生日期等信息的操作。系统的结构图如图一:

姓名 学号 学生信息 专业 家庭住址 出生日期 班级管理系统 查询 删除 录入 修改

图1 系统结构图

三、总体设计

本班级管理系统共有6个java源文件。

0

JAVA学生管理系统

类之间的主要关系如下图所示:

图2 类之间的主要关系

各主类的主要作用如下: 1。StudentManager。java

该java文件的类负责创建班级学生管理系统的主窗口,该类包含main方法,程序从该类开始执行。

2。StudentStituation。java

该文件的类负责创建班级学生管理系统的学生信息录入界面。 3。ModifySituation.java

该文件的类负责创建班级学生管理系统的学生基本信息修改界面。 4。Inquest。java

该文件的类负责创建班级学生管理系统的学生基本信息查询界面. 5。Delete.java

该文件的类负责创建班级学生管理系统的学生信息删除界面。 6.Student。java

负责创建存放学生信息的对象.

四、详细设计

1.管理系统主窗口

1。1成员变量 表1-1 主要成员变量 成员变量描述 变量类型 变量名称 基本信息录入 StudentSituation 基本信息录入 基本信息修改 ModifySituation 基本信息修改 基本信息查询 Inquest 基本信息查询 基本信息删除 Delete 基本信息删除 菜单选项 JMenuItem 录入,修改,查询,删 存基本信息的散Hashtable 除 列表 File 基本信息 存放散列表的文件 file 1.2方法

1

JAVA学生管理系统 表1-2 主要方法 名称 功能 备注 StudentManager 创建程序主窗口 构造方法 actionPerformed 处理ActionEvent接口方法 main 事件 程序开始运行 1。3 界面截图:

2

JAVA学生管理系统

2.基本信息录入

2。1 成员变量 表2—1 主要成员变量属性 描述 变量类型 变量名称 存放“学生”对象的Hashtable 基本信息表 散列表 JTextField 学号,姓名,所学专输入学生基本信息的Student 业,家庭住址,出生 文本 学生 存放学生信息的对象 2。2 方法 表2—2 主要方法 名称 功能 备注 StudentSituation 创建学生信息录入构造方法 actionPerformed 界面 接口方法 处理ActionEvent事件

2。3 录入界面截图:

3

JAVA学生管理系统

3.基本信息查询

3。1 成员变量 表3—1 主要成员变量属性 描述 变量类型 变量名称 存放“学生”对象的Hashtable 基本信息表 散表 JTextField 学号,姓名,所学专业,显示学生基本信息的家庭住址,出生 文本 3。2 方法 表3—2 主要方法 名称 功能 备注 Inquest 创建查询界面 构造方法 actionPerformed 处理ActionEvent接口方法 事件 3.3 查询截图:

4

JAVA学生管理系统

5

JAVA学生管理系统

4。基本信息修改

4.1 成员变量 表4-1主要成员变量 描述 变量类型 变量名称 存放“学生”对象的散Hashtabe基本信息表 列表 l 学号,姓名,所学专输入学生基本信息的文JTextFie业,家庭住址,出生 本条 ld 4.2 方法 表4-2 主要方法 名称 功能 备注 ModifySituation 创建学生信息修改构造方法 actionPerform 界面 接口方法 处理ActionEvent事件 4。3 修改界面截图:

6

JAVA学生管理系统

5。基本信息删除

5.1 成员变量 表5-1 主要成员变量 描述 变量类型 变量名称 存放“学生\"对象的散Hashtabl基本信息表 列表 e 学号,姓名,所学专业,显示学生基本信息的文JTextFie家庭住址,出生 本条 ld 5。2 方法

表5-2 主要方法 名称 功能 备注 Delete 创建学生信息删除构造方法 actionPerforme界面 接口方法 d 处理ActionEvent 5.3 删除界面截图

7

JAVA学生管理系统

6。学生对象

6.1 成员变量 表6—1 主要成员变量 描述 变量类型 变量名称 学号 String Number 姓名 String Name 所学专业 String Discipling 家庭住址 String Grade 出生 String Borth 性别 String Sex 6.2方法

表6—2 主要方法 名称 功能 Setnumber 设置学号 Setnumber 获取学号 Setname 设置姓名 Setname 获取姓名 setDisciping 设置所学专业 setDisciping 获取所学专业 setGrade 设置家庭住址

8

JAVA学生管理系统 setGrade setBorth setBorth setSex setSex 获取家庭住址 设置出生 获取出生 设置性别 获取性别 五、总结与展望

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程. 本次课程设计虽然很辛苦,实在是受益匪浅.本来这门课的知识学的就不够扎实,本次课程设计,在设计过程中碰到了很多问题,刚开始要设计的时候,还真不知道从哪里下手但最终在图书、同学和老师的帮助下都得到了解决,让我学会了好多书本上没有的东西,通过本次课程设计我也能将课本上的知识融会贯通,起到了很好的辅助学习的效果,但是我发现我学到的知识比整整一个学期学到的都多。理论和实践的相结合是学习最有效的方法。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

不过,在用Java开发类似的软件时,发现在图形界面的设计方面远没有用VB,VF等开发工具简单.

参考文献:

附录:

1。主界面代码

StudentManager。java import java。awt.*;

import java。awt.event.*; import javax.swing。*; import java。io.*;

import java.util。Hashtable;

public class StudentManager extends JFrame implements ActionListener {

StudentSituation 基本信息录入=null; ModifySituation 基本信息修改=null;

9

JAVA学生管理系统

Inquest 基本信息查询=null;

Delete 基本信息删除=null; JMenuBar bar; JMenu fileMenu;

JMenuItem 录入,修改,查询,删除,退出; Container con=null;

Hashtable 基本信息=null; File file=null; CardLayout card=null; JLabel label; JPanel pCenter;

public StudentManager() {

setTitle(\"欢迎进入班级管理系统\");

录入=new JMenuItem(”录入学生基本信息\"); 修改=new JMenuItem(”修改学生基本信息\"); 查询=new JMenuItem(\"查询学生基本信息\"); 删除=new JMenuItem(\"删除学生基本信息”); 退出=new JMenuItem(”退出本系统\");

退出.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent event) {

System。exit(0); } });

bar=new JMenuBar();

fileMenu=new JMenu(\"菜单选项\"); fileMenu.add(录入);

fileMenu。addSeparator(); fileMenu。add(修改);

fileMenu.addSeparator(); fileMenu。add(查询);

fileMenu。addSeparator(); fileMenu。add(删除); fileMenu.addSeparator(); fileMenu。addSeparator(); fileMenu。add(退出); bar.add(fileMenu); setJMenuBar(bar);

label=new JLabel(\"欢迎进入班级管理系统!”,label.CENTER); label.setFont(new Font(”隶书”,Font.BOLD,30)); label。setForeground(Color.blue); 基本信息=new Hashtable();

10

JAVA学生管理系统

录入。addActionListener(this);

修改.addActionListener(this); 查询。addActionListener(this); 删除。addActionListener(this);

card=new CardLayout(); con=getContentPane(); pCenter=new JPanel();

pCenter.setLayout(card);

file=new File(\"学生基本信息。txt\"); if(!file.exists()) {

try{

FileOutputStream out=new FileOutputStream(file);

ObjectOutputStreamobjectOut=new ObjectOutputStream(out); objectOut。writeObject(基本信息); objectOut.close(); out。close(); }

catch(IOException e) { } }

基本信息录入=new StudentSituation(file); 基本信息修改=new ModifySituation(file); 基本信息查询=new Inquest(this,file); 基本信息删除=new Delete(file);

pCenter。add(\"欢迎语界面”,label);

pCenter。add(\"录入界面\",基本信息录入); pCenter。add(\"修改界面\基本信息修改); pCenter.add(”删除界面”,基本信息删除); con.add(pCenter,BorderLayout。CENTER); con.validate();

addWindowListener(new WindowAdapter()

{ public void windowClosing(WindowEvent e) {

System。exit(0); } }); setVisible(true);

setBounds(100,50,420,380); validate(); }

public void actionPerformed(ActionEvent e)

11

JAVA学生管理系统

if(e.getSource()==录入) {

card。show(pCenter,”录入界面”); }

else if(e.getSource()==修改) {

card.show(pCenter,\"修改界面”); }

else if(e。getSource()==查询) {

基本信息查询.setVisible(true); }

else if(e.getSource()==删除) {

card。show(pCenter,\"删除界面”); } }

public static void main(String args[]) {

new StudentManager(); } }

2.录入代码

StudentSituation。java import java。awt.*;

import java.awt.event。*; import javax.swing.*; import java。io.*; import java.util。*;

public class StudentSituation extends JPanel implements ActionListener{

Hashtable 基本信息表=null;

JTextField 学号,姓名,所学专业,家庭住址,出生; JRadioButton 男,女; Student 学生=null;

ButtonGroup group=null; JButton 录入,重置;

FileInputStream inOne=null; ObjectInputStream inTwo=null; FileOutputStream outOne=null; ObjectOutputStream outTwo=null;

File file=null;

12

JAVA学生管理系统

public StudentSituation(File file)

{

this.file=file;

学号=new JTextField(10); 姓名=new JTextField(10);

所学专业=new JTextField(10); 家庭住址=new JTextField(10); 出生=new JTextField(10); group=new ButtonGroup();

男=new JRadioButton(”男\;

女=new JRadioButton(”女\",false); group.add(男); group.add(女);

录入=new JButton(”录入”); 重置=new JButton(”重置\");

录入.addActionListener(this); 重置。addActionListener(this);

Box box1=Box.createHorizontalBox(); box1.add(new JLabel(”学号:”,JLabel.CENTER)); box1.add(学号);

Box box2=Box。createHorizontalBox(); box2.add(new JLabel(\"姓名:”,JLabel。CENTER)); box2.add(姓名);

Box box3=Box.createHorizontalBox(); box3.add(new JLabel(”性别:\",JLabel.CENTER)); box3.add(男); box3.add(女);

Box box4=Box。createHorizontalBox(); box4。add(new JLabel(”所学专业:\。CENTER)); box4.add(所学专业);

Box box5=Box。createHorizontalBox();

box5。add(new JLabel(”家庭住址:”,JLabel.CENTER)); box5.add(家庭住址);

Box box6=Box.createHorizontalBox(); box6.add(new JLabel(\"出生:\)); box6.add(出生);

Box boxH=Box.createVerticalBox(); boxH.add(box1); boxH。add(box2); boxH.add(box3); boxH。add(box4); boxH.add(box5); boxH。add(box6);

boxH.add(Box。createVerticalGlue());

13

JAVA学生管理系统

JPanel pCenter=new JPanel();

pCenter。add(boxH);

setLayout(new BorderLayout()); add(pCenter,BorderLayout.CENTER); JPanel pSouth=new JPanel(); pSouth。add(录入); pSouth。add(重置);

add(pSouth,BorderLayout。SOUTH); validate(); }

public void actionPerformed(ActionEvent e) {

if(e。getSource()==录入) {

String number=\"”;

number=学号。getText();

if(number。length()〉0) {

try {

inOne=new FileInputStream(file); inTwo=new ObjectInputStream(inOne);

基本信息表=(Hashtable)inTwo。readObject(); inOne.close(); inTwo。close(); }

catch(Exception ee) { }

if(基本信息表。containsKey(number)) {

String warning=\"该生基本信息已存在,请到修改页面修改!\"; JOptionPane.showMessageDialog(this,warning,警告”,JOptionPane。WARNING_MESSAGE); } else {

String m=”基本信息将被录入!”;

intok=JOptionPane.showConfirmDialog(this,m,\"确认\",JOptionPane.YES_NO_OPTION,JOptionPane。INFORMATION_MESSAGE); if(ok==JOptionPane。YES_OPTION) {

String name=姓名.getText();

String discipling=所学专业.getText();

14

JAVA学生管理系统

String grade=家庭住址.getText(); String borth=出生.getText(); String sex=null;

if(男.isSelected()) {

sex=男.getText(); } else {

sex=女。getText(); }

学生=new Student();

学生.setNumber(number); 学生。setName(name);

学生.setDiscipling(discipling); 学生.setGrade(grade); 学生。setBorth(borth); 学生。setSex(sex); try{

outOne=new FileOutputStream(file); outTwo=new ObjectOutputStream(outOne); 基本信息表.put(number,学生);

outTwo。writeObject(基本信息表); outTwo。close(); outOne.close();

学号.setText(null);

姓名。setText(null); 所学专业。setText(null); 家庭住址.setText(null); 出生。setText(null); }

catch(Exception ee) {

System。out.println(ee); } } } } else {

String warning=”必须要输入学号!”;

JOptionPane.showMessageDialog(this,warning,”警告\"JOptionPane.WARNING_MESSAGE); }

15

,JAVA学生管理系统

}

if(e.getSource()==重置) {

学号.setText(null); 姓名。setText(null);

所学专业。setText(null); 家庭住址。setText(null); 出生。setText(null); } } }

3.查询代码

Inquest.javaimport java。awt。*; import java。awt.event。*; import javax.swing。*; import java。io。*; import java.util.*;

public class Inquest extends JDialog implements ActionListener{

Hashtable 基本信息表=null;

JTextField 学号,姓名,所学专业,家庭住址,出生; JRadioButton 男,女; JButton 查询;

ButtonGroup group=null;

FileInputStream inOne=null; ObjectInputStream inTwo=null;

File file=null; public Inquest(JFrame f,File file) {

super(f,”查询对话框\; this.file=file;

学号=new JTextField(10);

查询=new JButton(”查询”); 学号。addActionListener(this); 查询.addActionListener(this); 姓名=new JTextField(10); 姓名.setEditable(false); 所学专业=new JTextField(10); 所学专业.setEditable(false); 家庭住址=new JTextField(10); 家庭住址。setEditable(false); 出生=new JTextField(10); 出生.setEditable(false);

16

JAVA学生管理系统

男=new JRadioButton(”男\;

女=new JRadioButton(\"女”,false); group=new ButtonGroup(); group.add(男); group。add(女);

Box box1=Box。createHorizontalBox();

box1。add(new JLabel(\"输入要查询的学号:\",JLabel。CENTER)); box1.add(学号); box1.add(查询);

Box box2=Box.createHorizontalBox(); box2。add(new JLabel(”姓名:”,JLabel。CENTER)); box2.add(姓名);

Box box3=Box。createHorizontalBox(); box3.add(new JLabel(\"性别:\",JLabel。CENTER)); box3。add(男); box3.add(女);

Box box4=Box.createHorizontalBox();

box4。add(new JLabel(”所学专业:\); box4.add(所学专业);

Box box5=Box。createHorizontalBox(); box5.add(new JLabel(\"家庭住址:\",JLabel。CENTER)); box5。add(家庭住址);

Box box6=Box.createHorizontalBox(); box6.add(new JLabel(\"出生:”,JLabel.CENTER)); box6.add(出生);

Box boxH=Box。createVerticalBox(); boxH.add(box1); boxH.add(box2); boxH.add(box3); boxH.add(box4); boxH.add(box5); boxH。add(box6);

boxH.add(Box。createVerticalGlue()); JPanel pCenter=new JPanel(); pCenter。add(boxH);

Container con=getContentPane();

con.add(pCenter,BorderLayout。CENTER); con。validate(); setVisible(false);

setBounds(100,200,360,270);

addWindowListener(new WindowAdapter()

{ public void windowClosing(WindowEvent e) {

setVisible(false);

17

JAVA学生管理系统

} }); }

public void actionPerformed(ActionEvent e) {

姓名。setText(null); 所学专业.setText(null); 家庭住址.setText(null); 出生。setText(null);

if(e。getSource()==查询||e。getSource()==学号) {

String number=””;

number=学号.getText();

if(number。length()>0) {

try {

inOne=new FileInputStream(file);

inTwo=new ObjectInputStream(inOne);

基本信息表=(Hashtable)inTwo。readObject(); inOne.close(); inTwo.close(); }

catch(Exception ee) { }

if(基本信息表.containsKey(number)) {

Student stu=(Student)基本信息表。get(number); 姓名。setText(stu。getName());

所学专业。setText(stu.getDisciping()); 家庭住址。setText(stu.getGrade()); 出生。setText(stu.getBorth()); if(stu。getSex()。equals(”男”)) {

男.setSelected(true); } else {

女。setSelected(true); } } else {

18

JAVA学生管理系统

String warning=\"该学号不存在!\"; JOptionPane.showMessageDialog(this,warning,\"警告”,JOptionPane.WARNING_MESSAGE); } } else {

String warning=”必须要输入学号!\";

JOptionPane。showMessageDialog(this,warning,”警告”,JOptionPane.WARNING_MESSAGE); } } } }

4。修改代码

ModifySituation。java import java。awt.*;

import java.awt。event.*; import javax。swing。*; import java。io.*; import java。util。*;

public class ModifySituation extends JPanel implements ActionListener {

Hashtable 基本信息表=null;

JTextField 学号,姓名,所学专业,家庭住址,出生; JRadioButton 男,女;

ButtonGroup group=null;

JButton 开始修改,录入修改,重置; FileInputStream inOne=null; ObjectInputStream inTwo=null; FileOutputStream outOne=null; ObjectOutputStream outTwo=null;

File file=null; public ModifySituation(File file) {

this。file=file;

学号=new JTextField(10);

姓名=new JTextField(10); 所学专业=new JTextField(10); 家庭住址=new JTextField(10); 出生=new JTextField(10); group=new ButtonGroup();

男=new JRadioButton(”男”,true);

19

JAVA学生管理系统

女=new JRadioButton(”女\);

group.add(男); group。add(女);

开始修改=new JButton(\"开始修改”); 录入修改=new JButton(”录入修改”); 录入修改.setEnabled(false); 重置=new JButton(\"重置”); 学号.addActionListener(this);

开始修改。addActionListener(this); 录入修改。addActionListener(this); 重置。addActionListener(this);

Box box1=Box.createHorizontalBox();

box1.add(new JLabel(\"输入要修改信息的学号:\",JLabel。CENTER)); box1。add(学号);

box1。add(开始修改);

Box box2=Box.createHorizontalBox(); box2。add(new JLabel(\"(新)姓名:\); box2.add(姓名);

Box box3=Box。createHorizontalBox(); box3。add(new JLabel(”(新)性别:\; box3。add(男); box3。add(女);

Box box4=Box.createHorizontalBox();

box4.add(new JLabel(”(新)所学专业:”,JLabel.CENTER)); box4.add(所学专业);

Box box5=Box。createHorizontalBox();

box5.add(new JLabel(”(新)家庭住址:\",JLabel.CENTER)); box5。add(家庭住址);

Box box6=Box.createHorizontalBox();

box6。add(new JLabel(\"(新)出生:”,JLabel.CENTER)); box6.add(出生);

Box boxH=Box。createVerticalBox(); boxH。add(box1); boxH.add(box2); boxH.add(box3); boxH。add(box4); boxH.add(box5); boxH。add(box6);

boxH。add(Box。createVerticalGlue()); JPanel pCenter=new JPanel(); pCenter。add(boxH);

setLayout(new BorderLayout());

add(pCenter,BorderLayout.CENTER); JPanel pSouth=new JPanel();

20

JAVA学生管理系统

pSouth。add(录入修改); pSouth。add(重置);

add(pSouth,BorderLayout。SOUTH); validate(); }

public void actionPerformed(ActionEvent e) {

if(e。getSource()==开始修改||e.getSource()==学号) {

String number=””; number=学号.getText();

if(number.length()〉0) {

try {

inOne=new FileInputStream(file); inTwo=new ObjectInputStream(inOne);

基本信息表=(Hashtable)inTwo.readObject(); inOne.close(); inTwo。close(); }

catch(Exception ee) { }

if(基本信息表.containsKey(number)) {

录入修改.setEnabled(true);

Student stu=(Student)基本信息表.get(number); 姓名.setText(stu.getName());

所学专业。setText(stu.getDisciping()); 家庭住址。setText(stu.getGrade()); 出生.setText(stu.getBorth()); if(stu。getSex()。equals(\"男”)) {

男.setSelected(true); } else {

女。setSelected(true); } } else {

录入修改。setEnabled(false);

21

JAVA学生管理系统

String warning=”该学号不存在!”;

JOptionPane.showMessageDialog(this,warning,\"警告”,JOptionPane。WARNING_MESSAGE); 学号。setText(null);

姓名。setText(null); 所学专业。setText(null); 家庭住址。setText(null); 出生。setText(null); }

} else {

录入修改.setEnabled(false);

String warning=\"必须要输入学号!”;

JOptionPane.showMessageDialog(this,warning,”警告\",JOptionPane.WARNING_MESSAGE);

学号。setText(null);

姓名.setText(null); 所学专业。setText(null); 家庭住址。setText(null); 出生。setText(null); } }

else if(e.getSource()==录入修改) {

String number=\"\";

number=学号。getText(); if(number.length()〉0) {

try {

inOne=new FileInputStream(file); inTwo=new ObjectInputStream(inOne);

基本信息表=(Hashtable)inTwo。readObject(); inOne。close(); inTwo.close(); }

catch(Exception ee) { }

if(基本信息表。containsKey(number)) {

String question=”该生基本信息已存在,您想修改他(她)的基本信息吗?”; JOptionPane.showMessageDialog(this,question,\"警告\",JOptionPane.QUESTION_MESSAGE);

22

JAVA学生管理系统

String m=”基本信息将被修改!\";

int ok=JOptionPane.showConfirmDialog(this,m,”确认”,JOptionPane。YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE); if(ok==JOptionPane.YES_OPTION) {

String name=姓名。getText();

String discipling=所学专业.getText(); String grade=家庭住址.getText(); String borth=出生.getText(); String sex=null;

if(男。isSelected()) {

sex=男。getText(); } else {

sex=女。getText(); }

Student 学生=new Student(); 学生.setNumber(number); 学生.setName(name);

学生。setDiscipling(discipling); 学生.setGrade(grade); 学生.setBorth(borth); 学生。setSex(sex); try {

outOne=new FileOutputStream(file);

outTwo=new ObjectOutputStream(outOne); 基本信息表。put(number,学生); outTwo.writeObject(基本信息表); outTwo。close(); outOne.close();

学号。setText(null);

姓名.setText(null); 所学专业.setText(null); 家庭住址.setText(null); 出生.setText(null); }

catch(Exception ee) {

System.out.println(ee); }

录入修改。setEnabled(false);

23

JAVA学生管理系统

}

else if(ok==JOptionPane.NO_OPTION) {

录入修改.setEnabled(true); } } else {

String warning=\"该学号没有基本信息,不能修改!”;

JOptionPane.showMessageDialog(this,warning,”告”,JOptionPane.WARNING_MESSAGE);

录入修改.setEnabled(false); } } else

{String warning=\"必须要输入学号!”;

JOptionPane。showMessageDialog(this,warning,”警\。WARNING_MESSAGE);

录入修改.setEnabled(false); } }

if(e.getSource()==重置) {

学号.setText(null); 姓名.setText(null);

所学专业.setText(null); 家庭住址。setText(null); 出生。setText(null); } } }

5.删除代码

Delete.java

import java。awt.*;

import java.awt。event。*; import javax。swing.*; import java。io。*; import java。util。*;

public class Delete extends JPanel implements ActionListener {

Hashtable 基本信息表=null;

JTextField 学号,姓名,所学专业,家庭住址,出生; JRadioButton 男,女;

警告24

JAVA学生管理系统

JButton 删除;

ButtonGroup group=null; FileInputStream inOne=null; ObjectInputStream inTwo=null; FileOutputStream outOne=null; ObjectOutputStream outTwo=null;

File file=null; public Delete(File file) {

this.file=file;

学号=new JTextField(10); 删除=new JButton(\"删除”);

学号.addActionListener(this); 删除。addActionListener(this); 姓名=new JTextField(10); 姓名。setEditable(false); 所学专业=new JTextField(10); 所学专业。setEditable(false); 家庭住址=new JTextField(10); 家庭住址.setEditable(false); 出生=new JTextField(10); 出生。setEditable(false);

男=new JRadioButton(\"男”,false); 女=new JRadioButton(\"女\",false); group=new ButtonGroup(); group。add(男); group。add(女);

Box box1=Box.createHorizontalBox();

box1.add(new JLabel(\"输入要删除的学号:\。CENTER)); box1.add(学号); box1。add(删除);

Box box2=Box.createHorizontalBox(); box2。add(new JLabel(”姓名:”,JLabel。CENTER)); box2.add(姓名);

Box box3=Box.createHorizontalBox(); box3。add(new JLabel(”性别:”,JLabel。CENTER)); box3.add(男); box3.add(女);

Box box4=Box.createHorizontalBox(); box4。add(new JLabel(\"所学专业:\)); box4。add(所学专业);

Box box5=Box。createHorizontalBox(); box5.add(new JLabel(”家庭住址:\)); box5.add(家庭住址);

25

JAVA学生管理系统

Box box6=Box。createHorizontalBox(); box6。add(new JLabel(\"出生:”,JLabel。CENTER)); box6。add(出生);

Box boxH=Box.createVerticalBox(); boxH.add(box1); boxH.add(box2); boxH。add(box3); boxH.add(box4); boxH。add(box5); boxH.add(box6);

boxH.add(Box。createVerticalGlue()); JPanel pCenter=new JPanel(); pCenter.add(boxH);

setLayout(new BorderLayout()); add(pCenter,BorderLayout.CENTER); validate(); }

public void actionPerformed(ActionEvent e) {

if(e.getSource()==删除||e.getSource()==学号) {

String number=\"”;

number=学号。getText();

if(number。length()>0) {

try {

inOne=new FileInputStream(file); inTwo=new ObjectInputStream(inOne);

基本信息表=(Hashtable)inTwo。readObject(); inOne.close(); inTwo。close(); }

catch(Exception ee) { }

if(基本信息表。containsKey(number)) {

Student stu=(Student)基本信息表。get(number); 姓名.setText(stu。getName());

所学专业.setText(stu.getDisciping()); 家庭住址。setText(stu。getGrade()); 出生。setText(stu。getBorth()); if(stu。getSex()。equals(\"男\"))

26

JAVA学生管理系统

男。setSelected(true); } else {

女.setSelected(true); }

String m=”确定要删除该学号及全部信息吗?”;

int ok=JOptionPane。showConfirmDialog(this,m,\"确认\。YES_NO_OPTIONJOptionPane。QUESTION_MESSAGE); if(ok==JOptionPane.YES_OPTION) { try { outOne=new FileOutputStream(file outTwo=new ObjectOutputStream outTwo.writeObject( outTwo outOne.close() } catch(Exception ee { System.out.println(ee } } else if } else String warning=\" JOptionPane.showMessageDialog

基本信息表。remove(number);

);

(outOne);基本信息表); 。close(); ;

学号。setText(null);

姓名.setText(null); 所学专业.setText(null); 家庭住址。setText(null); 出生.setText(null);

);

(ok==JOptionPane.NO_OPTION) {

学号。setText(null); 姓名。setText(null);

所学专业。setText(null); 家庭住址.setText(null); 出生。setText(null); } {

该学号不存在!\";

(this,warning,警告

27

\"JAVA学生管理系统

\; } } else {

String warning=”必须要输入学号!\";

JOptionPane.showMessageDialog(this,warning,\"警告”,JOptionPane.WARNING_MESSAGE); } } } }

6.设置代码

Student。java

public class Student implements java。io。Serializable {

String number,name,discipling,grade,borth,sex; public Student() { }

public void setNumber(String number) {

this。number=number; }

public String getNumber() {

return number; }

public void setName(String name) {

this.name=name; }

public String getName() {

return name; }

public void setDiscipling(String discipling) {

this.discipling=discipling; }

public String getDisciping() {

return discipling;

28

JAVA学生管理系统

public void setGrade(String grade) {

this。grade=grade; }

public String getGrade() {

return grade; }

public void setBorth(String borth) {

this。borth=borth; }

public String getBorth() {

return borth; }

public void setSex(String sex) {

this.sex=sex; }

public String getSex() {

return sex; } }

29

因篇幅问题不能全部显示,请点此查看更多更全内容