Java课程设计 ------简单的班级管理系统.doc

上传人:滴答 文档编号:1255456 上传时间:2019-01-19 格式:DOC 页数:28 大小:208.50KB
下载 相关 举报
Java课程设计 ------简单的班级管理系统.doc_第1页
第1页 / 共28页
Java课程设计 ------简单的班级管理系统.doc_第2页
第2页 / 共28页
Java课程设计 ------简单的班级管理系统.doc_第3页
第3页 / 共28页
Java课程设计 ------简单的班级管理系统.doc_第4页
第4页 / 共28页
Java课程设计 ------简单的班级管理系统.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、Java 课程设计-简单的班级管理系统一:需求分析1.功能需求1).能够实现对班级学生基本资料的录入,包括学生的学号,姓名,性别,所学专业,家庭住址以及出生年月等。2).能够实现对学生基本资料的修改。3).根据学号对学生资料进行查询。4).能够删除某些学生的资料。二:总体设计本班级管理系统共有 6 个 java 源文件。类之间的主要关系如下图所示:StudentManager(主类)DeleteStudentStudentSituation ModiifySituationInquest各主类的主要作用如下:1).StudentManager.java该 java 文件的类负责创建班级学生管理

2、系统的主窗口。该类包含 main 方法,程序从该类开始执行。2).StudentStituation.java该文件的类负责创建班级学生管理系统的学生信息录入界面。3).ModifySituation.java该文件的类负责创建班级学生管理系统的学生基本信息修改界面。14).Inquest.java该文件的类负责创建班级学生管理系统的学生基本信息查询界面。5).Delete.java该文件的类负责创建班级学生管理系统的学生信息删除界面。6).Student.java负责创建存放学生信息的对象。三:详细设计1 主类 StudentManager.java1).成员变量主要成员变量成员变量描述 变

3、量类型 变量名称基本信息录入界面基本信息修改界面基本信息查询界面基本信息删除界面菜单选项存基本信息的散列表存放散列表的文件StudentSituationModifySituationInquestDeleteJMenuItemHashtableFile基本信息录入基本信息修改基本信息查询基本信息删除录入,修改,查询,删除基本信息file2).方法主要方法名称 功能 备注StudentManageractionPerformedmain创建程序主窗口处理 ActionEvent 事件程序开始运行构造方法接口方法3).代码StudentManager.javaimport java.awt.*;

4、import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.Hashtable;public class StudentManager extends JFrame implements ActionListenerStudentSituation 基本信息录入=null; ModifySituation 基本信息修改=null; Inquest 基本信息查询=null; Delete 基本信息删除=null; JMenuBar bar;2JMenu fileMenu;JMenuItem 录入,修

5、改,查询,删除,退出; 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(“退出

6、本系统“);退出.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(删除);file

7、Menu.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();录入.addActionListener(this);修改.addActionListener(this);查询.addActi

8、onListener(this);3删除.addActionListener(this);card=new CardLayout();con=getContentPane();pCenter=new JPanel();pCenter.setLayout(card); file=new File(“学生基本信息.txt“);if(!file.exists()tryFileOutputStream out=new FileOutputStream(file);ObjectOutputStreamobjectOut=new ObjectOutputStream(out);objectOut.writ

9、eObject(基本信息);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.

10、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()=录入)4card.show(pCenter,“录入界面“);else if(e.getS

11、ource()=修改)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.录入界面1).成员变量主要成员变量属性描述 变量类型 变量名称存放“学生”对象的散列表输入学生基本信息的文本存放学生信息的对象HashtableJTextFieldStudent基本信息表学号,姓名,所学专业

12、,家庭住址,出生学生2).方法主要方法名称 功能 备注StudentSituationactionPerformed创建学生信息录入界面处理 ActionEvent 事件构造方法接口方法3).代码StudentSituation.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class StudentSituation extends JPanel implements ActionListener5 Hashtable

13、基本信息表=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;学号=ne

14、w JTextField(10);姓名=new JTextField(10);所学专业=new JTextField(10);家庭住址=new JTextField(10);出生=new JTextField(10);group=new ButtonGroup();男=new JRadioButton(“男“,true);女=new JRadioButton(“女“,false);group.add(男);group.add(女);录入=new JButton(“录入“);重置=new JButton(“重置“);录入.addActionListener(this);重置.addActionL

15、istener(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 b

16、ox4=Box.createHorizontalBox(); box4.add(new JLabel(“所学专业:“,JLabel.CENTER);box4.add(所学专业);Box box5=Box.createHorizontalBox(); box5.add(new JLabel(“家庭住址:“,JLabel.CENTER);6box5.add(家庭住址);Box box6=Box.createHorizontalBox(); box6.add(new JLabel(“出生:“,JLabel.CENTER);box6.add(出生);Box boxH=Box.createVertica

17、lBox(); 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();pSouth.add(录入);pSouth.add(重置);ad

18、d(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(E

19、xception ee)if(基本信息表.containsKey(number) String warning=“该生基本信息已存在,请到修改页面修改!“;7JOptionPane.showMessageDialog(this,warning,警告“,JOptionPane.WARNING_MESSAGE);else String m=“基本信息将被录入!“;intok=JOptionPane.showConfirmDialog(this,m,“确认“,JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE);if(ok=JOptio

20、nPane.YES_OPTION)String name=姓名.getText();String discipling=所学专业.getText();String grade=家庭住址.getText();String borth=出生.getText();String sex=null;if(男.isSelected()sex=男.getText();elsesex=女.getText();学生=new Student();学生.setNumber(number);学生.setName(name);学生.setDiscipling(discipling);学生.setGrade(grade)

21、;学生.setBorth(borth);学生.setSex(sex);tryoutOne=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)8 Sy

22、stem.out.println(ee); else String warning=“必须要输入学号!“;JOptionPane.showMessageDialog(this,warning,“警告“,JOptionPane.WARNING_MESSAGE); if(e.getSource()=重置) 学号.setText(null);姓名.setText(null);所学专业.setText(null);家庭住址.setText(null);出生.setText(null);3.查询界面1).成员变量主要成员变量属性描述 变量类型 变量名称存放“学生”对象的散表显示学生基本信息的文本Hash

23、tableJTextField基本信息表学号,姓名,所学专业,家庭住址,出生2).方法主要方法名称 功能 备注InquestactionPerformed创建查询界面处理 ActionEvent 事件构造方法接口方法3).代码Inquest.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;9import java.util.*;public class Inquest extends JDialog implements ActionListener Hashtable 基本

24、信息表=null; JTextField 学号,姓名,所学专业,家庭住址,出生; JRadioButton 男,女;JButton 查询;ButtonGroup group=null;FileInputStream inOne=null;ObjectInputStream inTwo=null;File file=null; public Inquest(JFrame f,File file)super(f,“查询对话框“,false); this.file=file;学号=new JTextField(10);查询=new JButton(“查询“);学号.addActionListener

25、(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(

26、);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();

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。