搜索
您的当前位置:首页正文

JAVA课程设计学籍管理系统

来源:爱够旅游网
课程设计任务书

题目: 学籍管理系统

组 员 学 号

组 员 学 号 组 员 学 号 专 业 课 程 JAVA 指导教师 完成时间:2011年9月——2011年12月

计算机科学系制

课程设计任务书及成绩评定

课程设计的任务和具体要求 1.录入学生基本信息的功能界面。 2.修改学生基本信息的功能界面。 3.查询学生基本信息的功能界面。 4.删除学生基本信息的功能界面。 指导教师签字: 日期: 指导教师评语 成绩: 指导教师签字: 日期: 课程设计所需软件、硬件 JAVA编程工具MyEclipse6 课程设计进度计划 起止日期 工作内容 备注 2011年10月至编写一个程序可以用来2011年12月 管理学籍数据库 参考文献、资料索引 序号 文献、资料名称 编着者 出版单位 3 《Java核心技术》 4 《深入简出java》 2 《Java编程思想》1 高晓黎,刘博主编 , 清华大学出版社 本学籍管理系统共有6个java源文件。类之间的主要关系如图所示。

StudentManager(主类) StudentSituation Inquest Delete ModifySituation Student

StudentManager.java

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

StudentSituation.java

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

该文件的类负责创建学籍管理系统的学生信息修改界面。 Inquest.java

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

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

负责创建存放学生信息的对象。 1. 具体设计

1.1主类StudentManager

1.成员变量(见下表) 主要成员变量(属性) 成员变量描述 基本信息录入界面 基本信息修改界面 基本信息查询界面 基本信息删除界面 菜单选项

存放基本信息的散列表 存放散列表的文件

2.方法(见下表)

主要方法

名称

StudentManager actionPerformed main

3.代码

StudentManager.java import java.awt.*;

功能

创建程序主窗口 处理ActionEvent事件 程序开始运行

备注 构造方法 接口方法

变量类型 StudentSituation ModifySituation Inquest Delete JmenuItem Hashtable File

名称

基本信息录入 基本信息修改 基本信息查询 基本信息删除

录入,修改,查询,删除 基本信息 file

import javax.swing.*; import java.io.*;

public class StudentManager extends JFrame implements ActionListener {

StudentSituation 基本信息录入=null; //创建基本信息录入界面 ModifySituation 基本信息修改=null; //创建基本信息修改界面 Inquest 基本信息查询=null; Delete 基本信息删除=null; JMenuBar bar; JMenu fileMenu;

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

Hashtable 基本信息=null; //存放基本信息的散列表 File file=null; //存放散列表的文件 CardLayout card=null; //卡片式布局 JLabel label=null; //欢迎语标签 JPanel pCenter;

public StudentManager() {

录入=new JMenuItem(\"录入学生基本信息\"); 修改=new JMenuItem(\"修改学生基本信息\"); 查询=new JMenuItem(\"查询学生基本信息\"); 删除=new JMenuItem(\"删除学生基本信息\"); bar=new JMenuBar();

fileMenu=new JMenu(\"菜单选项\"); fileMenu.add(录入); fileMenu.add(修改); fileMenu.add(查询); fileMenu.add(删除); bar.add(fileMenu); setJMenuBar(bar);

label=new JLabel(\"欢迎使用学生基本信息管理系统\ label.setFont(new Font(\"TimesRoman\ label.setForeground(Color.red); 基本信息=new Hashtable(); 录入.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);

ObjectOutputStream objectOut=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(\"欢迎语界面\

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) {

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(); } }

1.2录入界面StudentSituation

1.成员变量(见下表)

主要成员变量(属性) 描述

存放“学生”对象的散列表 输入学生基本信息的文本条 存放学生信息的对象

2.方法(见下表) 主要方法

名称

功能

备注

变量类型 Hashtable JtextField Student

名称 基本信息表

学号,姓名,专业,年级,出生 学生

StudentSituation actionPerformed

创建学生录入界面 处理ActionEvent事件

构造方法 接口方法

3.代码

StudentSituation.java import java.awt.*; 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; 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(\"女\ group.add(男); group.add(女);

录入=new JButton(\"录入\"); 重置=new JButton(\"重置\"); 录入.addActionListener(this); 重置.addActionListener(this);

Box box1=Box.createHorizontalBox(); box1.add(new JLabel(\"学号:\ 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(\"专业:\ box4.add(专业);

Box box5=Box.createHorizontalBox();

box5.add(new JLabel(\"年级:\ box5.add(年级);

Box box6=Box.createHorizontalBox();

//输入基本信息的文本条 //存放散列表的文件 //创建6个水平Box容器 box6.add(new JLabel(\"出生:\ box6.add(出生);

//创建一个垂直Box容器,其中从上向下排列6个水平Box容器 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()); //垂直Box容器内的组件靠上对齐 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();//首先到文件中读取Hashtable

//对象

inOne.close(); inTwo.close(); }

catch(Exception ee) { }

if(基本信息表.containsKey(number)) //如果该学号对应的学生基本信息已经存在 { //弹出警告对话框

String warning=\"该生基本信息已存在,请到修改页面修改!\";

JOptionPane.showMessageDialog(this,warning,\"警告\

WARNING_MESSAGE);

} else //否则,弹出确认对话框 {

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

int ok=JOptionPane.showConfirmDialog(this,m,\"确认\ 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(); }

学生=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) { } } } } else

{ //弹出警告对话框

String warning=\"必须要输入学号!\"; JOptionPane.showMessageDialog(this,warning,\"警告\

WARNING_MESSAGE);

} }

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

学号.setText(null); 姓名.setText(null); 专业.setText(null); 年级.setText(null); 出生.setText(null); } } }

1.3查询界面Inquest

1.成员变量(见下表)

主要成员变量(属性)

描述

存放“学生”对象的散列表 显示学生基本信息的文本条

2.方法(见下表)

变量类型 Hashtable JTextField

主要方法

名称 year

学号,姓名,专业,年级,出生

名称 Inquest actionPerformed

功能

创建查询界面 处理ActionEvent事件

备注 构造方法 接口方法

3.代码 Inquest.java import java.awt.*; 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);

男=new JRadioButton(\"男\ 女=new JRadioButton(\"女\ group=new ButtonGroup(); group.add(男); group.add(女); //创建6个水平Box 容器,容器内从左向右排列组件 Box box1=Box.createHorizontalBox();

box1.add(new JLabel(\"输入要查询的学号:\ 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(\"专业:\ box4.add(专业);

Box box5=Box.createHorizontalBox(); box5.add(new JLabel(\"年级:\ box5.add(年级);

Box box6=Box.createHorizontalBox(); box6.add(new JLabel(\"出生:\ box6.add(出生); //创建一个垂直Box容器,在其中自上向下排列6个水平Box容器 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()); //使垂直Box容器内的组件靠上对齐 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); } }); }

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();//首先到文件中读取

//Hashtable对象

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

{ //否则,弹出警告对话框

String warning=\"该学号不存在!\";

JOptionPane.showMessageDialog(this,warning,\"

警告\

} } else

{ //如果学号输入框内容为空,弹出警告对话框 String warning=\"必须要输入学号!\";

JOptionPane.showMessageDialog(this,warning,\"警告\

WARNING_MESSAGE);

} } } }

1.4修改界面ModifySituation

1.成员变量(见下表)

主要成员变量(属性) 描述

存放“学生”对象的散列表 输入学生基本信息的文本条

2.方法(见下表)

主要方法

名称

ModifySituation actionPerformed

功能

创建学生信息修改界面 处理ActionEvent事件

备注 构造方法 接口方法

变量类型 Hashtable JTextField

名称 基本信息表

学号,姓名,专业,年级,出生

3.代码

ModifySituation.java import java.awt.*; 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(\"男\ 女=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(); //创建6个水平Box容器,从左向右排列组件 box1.add(new JLabel(\"输入要修改信息的学号:\ 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(\"(新)专业:\ box4.add(专业);

Box box5=Box.createHorizontalBox(); box5.add(new JLabel(\"(新)年级:\ box5.add(年级);

Box box6=Box.createHorizontalBox(); box6.add(new JLabel(\"(新)出生:\ box6.add(出生); //创建一个垂直Box容器,在其中自上向下排列6个水平Box容器 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()); //使得垂直Box容器内的组件靠上对齐 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()==开始修改||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);

String warning=\"该学号不存在!\";

JOptionPane.showMessageDialog(this,warning,

\"警

\

学号.setText(null); 姓名.setText(null); 专业.setText(null); 年级.setText(null); 出生.setText(null); } } else //如果学号输入框内容为空,弹出警告对话框 {

录入修改.setEnabled(false);

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

JOptionPane.showMessageDialog(this,warning,

\"警告\

学号.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();//到文件中读取Hashtable对象 inOne.close(); inTwo.close(); }

catch(Exception ee) { }

if(基本信息表.containsKey(number)) //如果该生的基本信息已经存在 { //弹出提示对话框

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

\"警告\

//弹出确认对话框

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

int ok=JOptionPane.showConfirmDialog(this,m,

\"确认\

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) { }

录入修改.setEnabled(false); }

else if(ok==JOptionPane.NO_OPTION) {

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

//如果不存在该生的基本信息,弹出警告对话框 String warning=\"该学号没有基本信息,不能修改!\"; JOptionPane.showMessageDialog(this,warning,

\"警告\

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

{//如果学号输入框内容为空,弹出警告对话框 String warning=\"必须要输入学号!\";

JOptionPane.showMessageDialog(this,warning,

\"警告\

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

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

学号.setText(null); 姓名.setText(null); 专业.setText(null); 年级.setText(null); 出生.setText(null); } } }

1.5删除界面Delete

1.成员变量(见下表)

主要成员变量(属性)

描述

存放“学生”对象的散列表 显示学生基本信息的文本条

2.方法(见下表)

主要方法

名称 Delete

actionPerformed

功能

创建学生信息删除界面 处理ActionEvent事件

备注 构造方法 接口方法

变量类型 Hashtable JTextField

名称 基本信息表

学号,姓名,专业,年级,出生

3.代码 Delete.java import java.awt.*; import javax.swing.*; import java.io.*; import java.util.*;

public class Delete extends JPanel implements ActionListener {

Hashtable 基本信息表=null; //存放学生基本信息的散列表 JTextField 学号,姓名,专业,年级,出生; //显示学生基本信息的文本条 JRadioButton 男,女; 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(\"男\ 女=new JRadioButton(\"女\ group=new ButtonGroup(); group.add(男); group.add(女);

Box box1=Box.createHorizontalBox(); //创建6个水平Box容器,从左向右排列组件 box1.add(new JLabel(\"输入要删除的学号:\ 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(\"专业:\ box4.add(专业);

Box box5=Box.createHorizontalBox(); box5.add(new JLabel(\"年级:\ box5.add(年级);

Box box6=Box.createHorizontalBox(); box6.add(new JLabel(\"出生:\ box6.add(出生); //创建一个垂直Box容器,在其中自上向下排列6个水平Box容器 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()); //使得垂直Box容器内的组件靠上对齐 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();//到文件中读取Hashtable对象 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); }

String m=\"确定要删除该学号及全部信息吗?\";//弹出确认删除的对话框 int ok=JOptionPane.showConfirmDialog(this,m,

\"确认\

JOptionPane.QUESTION_MESSAGE); if(ok==JOptionPane.YES_OPTION) { //删除该学号及该生全部信息 基本信息表.remove(number); try {

outOne=new FileOutputStream(file);

outTwo=new ObjectOutputStream(outOne); outTwo.writeObject(基本信息表); outTwo.close(); outOne.close(); 学号.setText(null);

姓名.setText(null); 专业.setText(null); 年级.setText(null); 出生.setText(null); }

catch(Exception ee) { } }

else if(ok==JOptionPane.NO_OPTION) {

学号.setText(null); 姓名.setText(null); 专业.setText(null); 年级.setText(null); 出生.setText(null); } } else

{ //如果不存在该生的基本信息,弹出警告对话框 String warning=\"该学号不存在!\";

JOptionPane.showMessageDialog(this,warning,

\"警告\

}

} else

{ //如果学号输入框内容为空,弹出警告对话框 String warning=\"必须要输入学号!\";

JOptionPane.showMessageDialog(this,warning,

\"警

\

} } } }

1.6学生对象Student 1.成员变量(见下表)

主要成员变量(属性) 描述 学号 姓名 专业 年级 出生 性别

2.方法(见下表) 主要方法

名称 setNumber getNumber setName getName setDiscipling getDiscipling setGrade getGrade setBorth getBorth setSex getSex

功能 设置学号 获取学号 设置姓名 获取姓名 设置专业 获取专业 设置年级 获取年级 设置出生 获取出生 设置性别 获取性别

备注

变量类型 String String String String String String

名称 number name discipling grade borth sex

3.代码 Student.java {

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; }

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; } }

4.7运行效果 系统主窗口 学生信息录入界面

学生信息查询界面

学生信息修改界面

学生信息删除界面

实验总结:

通过本次试验,基本应用了自己所学过的所有知识,经过不断的努力修改终于完成了这个程序,不仅加强了自己的相关知识,更进一步认识到自己的不足。同时,在软件开发方面也积累了不少经验,对软件工程的知识重要性的认识更深刻了。通过设计的锻炼,自己分析和解决问题的能力得到了提高,完善了的自己的知识结构,加深了对所学知识理解。

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

Top