JAVA学生班级管理系统源代码截图_第1页
JAVA学生班级管理系统源代码截图_第2页
JAVA学生班级管理系统源代码截图_第3页
JAVA学生班级管理系统源代码截图_第4页
JAVA学生班级管理系统源代码截图_第5页
免费预览已结束,剩余28页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、需求分析1 .实现对班级和学生基本资料的录入,包括学生的学号,姓名,性别,所学专业,家庭住址以及出生年月等。2 .能够实现对班级学生基本资料的修改。3 .根据学号对学生资料进行查询。4 .能够删除学生的资料。二、概要设计根据本次课程设计的目的和以上的问题描述,把该班级管理系统分为五个模块:录入模块(StudentSituation )、查询模块(Inques )、删 除模块(Delete )和修 改模块(ModifySituation)。各个模块包括学生学号,姓名,所学专业,家庭住址,出生日期等信息的操作。系统的结构图如图一:图1系统结构图三、总体设计本班级管理系统共有 6个java源文件

2、。类之间的主要关系如下图所示:图2类之间的主要关系各主类的主要作用如下:I.StudentManager.java该java文件的类负责创建班级学生管理系统的主窗口,该类包含main方法,程序从该类开始执行。2.StudentStituation.java该文件的类负责创建班级学生管理系统的学生信息录入界面。3.ModifySituation.java该文件的类负责创建班级学生管理系统的学生基本信息修改界面。4.Inquest.java该文件的类负责创建班级学生管理系统的学生基本信息查询界面。5.Delete.java该文件的类负责创建班级学生管理系统的学生信息删除界面。6.Student.j

3、ava负责创建存放学生信息的对象。四、详细设计1 .管理系统主窗口1.1 成员变量表1-1主要成员变量成员变量描述变量类型变量名称基本信息录入StudentSituation基本信息录入基本信息修改ModifySituation基本信息修改基本信息查询Inquest基本信息查询基本信息删除Delete基本信息删除菜单选项JMenultem录入,修改,查询,删除存基本信息的散列表Hashtable基本信息存放散列表的文件Filefile1.2方法表1-2主要方法名称功能备注StudentManager actionPerformed main创建程序主窗口处理ActionEvent事件程序开始运

4、行构造方法 接口方法1.3界面截图:302.基本信息录入2.1 成员变量描述变量类型变量名称表2-1主要成员变量属性存放“学生”对象的散列表 输入学生基本信息的文本 存放学生信息的对象HashtableJTextFieldStudent基本信息表学号,姓名,所学专业,家庭住址,出生学生2.2方法表2-2主要方法名称功能备注StudentSituation actionPerformed创建学生信息录入界面处理ActionEvent 事件构造方法 接口方法2.3录入界面截图:3 .基本信息查询3.1 成员变量表3-1主要成员变量属性描述变量类型变量名称存放“学生”对象的散表 显示学生基本信息的文

5、本HashtableJTextField基本信息表学号,姓名,所学专业,家庭住 址,出生3.2 方法表3-2主要方法名称功能备注Inquest actionPerformed创建查询界囿处理ActionEvent 事件构造方法 接口方法3.3 查询截图:查询对话框喻人要查询的学号:2011 070111 03查询姓名:丁少亭性别:男。女所学专业:信息与计算科学苏庭住址:山东济南出生日期:1991.1 0一20警告小读学号不存在!确定4 .基本信息修改4.1 成员变量表4-1主要成员变量描述变量类型变量名称存放“学生”对象的散列表 输入学生基本信息的文本条HashtabelJTextField基

6、本信息表学号,姓名,所学专业,家庭住址,出生4.2 方法表4-2主要方法名称功能备注ModifySituation actionPerform创建学生信息修改界血处理ActionEvent 事件构造方法 接口方法4.3修改界面截图:5 .基本信息删除5.1 成员变量表5-1主要成员变量描述变量类型变量名称存放“学生”对象的散列表 显示学生基本信息的文本条HashtableJTextField基本信息表学号,姓名,所学专业,家庭住址,出生5.2方法表5-2主要方法名称功能备注Delete actionPerformed创建学生信息删除界面处理 ActionEvent构造方法 接口方法5.3删除界

7、面截图6 .学生对象6.1成员变量表6-1主要成员变量描述变量类型变量名称学号StringNumber姓名StringName所学专业StringDiscipling家庭住址StringGrade出生StringBorth性别StringSex6.2方法表6-2主要方法名称功能Setnumber设置学号Setnumber获取学号Setname设置姓名Setname获取姓名setDisciping设置所学专业setDisciping获取所学专业setGrade设置家庭住址setGrade获取家庭住址setBorth设置出生setBorth获取出生setSex设置性别setSex制性别五、总结与展

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

9、掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。通过这次课程设计使我懂得了理论与实际相结合是很重要 的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。不过,在用Java开发类似的软件时, 发现在图形界面的设计方面远没有用VB VF等开发工具简单。参考文献:附录:1. 主界面代码 StudentManager.java import java.awt.*;import java.awt.event.*; import javax.swing.*; import java.io

10、.*;import java.util.Hashtable;public class StudentManager extends JFrame implements StudentSituation基本信息录入=null;ModifySituation基本信息修改=null;Inquest基本信息查询=null;DeleteJMenuBar bar;JMenu fileMenu;基本信息删除=null;JMenuItem 录入 , 修改 , 查询 , 删除 , 退出ActionListenerContainer con=null;Hashtable 基本信息=null;File file=n

11、ull;CardLayout card=null;JLabel label;JPanel pCenter;public StudentManager()setTitle(" 欢迎进入班级管理系统");录入=new JMenuItem("录入学生基本信息");修改=new JMenuItem("修改学生基本信息");查询=new JMenuItem("查询学生基本信息");删除=new JMenuItem("删除学生基本信息");退出 =new JMenuItem(" 退出本系统&quo

12、t;);退出 .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.ad

13、d(删除);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();录入.addActionListener(this);修改

14、.addActionListener(this);查询.addActionListener(this);删除.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);ObjectOutputStreamobjectOu

15、t=newObjectOutputStream(out);objectOut.writeObject(基本信息);objectOut.close();out.close();catch(IOException e)基本信息录入=newStudentSituation(file);基本信息修改=new ModifySituation(file);基本信息查询=new Inquest(this,file);基本信息删除=new Delete(file);pCenter.add(" 欢迎语界面",label);pCenter.add("录入界面",基本信息录入

16、);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 actionPer

17、formed(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 ar

18、gs) 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

19、男 , 女 ;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 JTe

20、xtField(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);重置.addActionList

21、ener(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.CEN

22、TER);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(&quo

23、t; 出生 :",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

24、.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 Object

25、InputStream(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=JOpt

26、ionPane.showConfirmDialog(this,m,"确认",JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE);if(ok=JOptionPane.YES_OPTION)String name=String discipling=String grade=String borth=姓名 .getText();所学专业.getText();家庭住址.getText();出生 .getText();String sex=null;if(男 .isSelected()sex=男 .getText()

27、;elsesex=女 .getText();学生=new Student();学生.setNumber(number);学生.setName(name);学生.setDiscipling(discipling);学生.setGrade(grade);学生.setBorth(borth);学生.setSex(sex);tryoutOne=new FileOutputStream(file);outTwo=new ObjectOutputStream(outOne);基本信息表.put(number, 学生 );outTwo.writeObject(基本信息表);outTwo.close();ou

28、tOne.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); if(e.getSource()= 重置 ) 学号.s

29、etText(null);姓名.setText(null);所学专业.setText(null);家庭住址.setText(null);出生.setText(null); 3. 查询代码Inquest.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import java.util.*;public class Inquest extends JDialog implements ActionListenerHashtable 基本信息表=null;JTextFie

30、ld 学号 , 姓名 , 所学专业, 家庭住址, 出生 ;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(" 查询");学号.addA

31、ctionListener(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("

32、 女 ",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=

33、Box.createHorizontalBox();box3.add(new JLabel(" 性别 :",JLabel.CENTER);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);b

34、ox5.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

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

36、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

37、.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);elseStrin

38、g warning="该学号不存在!"JOptionPane.showMessageDialog(this,warning,"警 告",JOptionPane.WARNING_MESSAGE); else String warning="必须要输入学号!"JOptionPane.showMessageDialog(this,warning,"警 告",JOptionPane.WARNING_MESSAGE); 4. 修改代码ModifySituation.javaimport java.awt.*;import j

39、ava.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class ModifySituation extends JPanel implements ActionListenerHashtable 基本信息表=null;JTextField 学号 , 姓名 , 所学专业, 家庭住址, 出生 ;JRadioButton 男 , 女 ;ButtonGroup group=null;JButton 开始修改, 录入修改, 重置 ;FileInputStream inOne=null;Object

40、InputStream 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 JRadioBut

41、ton(" 男 ",true);女 =new JRadioButton(" 女 ",false);group.add(男 );group.add(女 );开始修改=new JButton(" 开始修改");录入修改=new JButton(" 录入修改");录入修改.setEnabled(false);重置 =new JButton(" 重置 ");学号.addActionListener(this);开始修改.addActionListener(this);录入修改.addActionList

42、ener(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("( 新 ) 姓名 :",JLabel.CENTER);box2.add( 姓名 );Box box3=Box.createHorizonta

43、lBox();box3.add(new JLabel("( 新 ) 性别 :",JLabel.CENTER);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.

44、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 JPane

45、l();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=""nu

46、mber= 学号 .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(st

47、u.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,"警 告"

48、;,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(

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

50、h(Exception ee)if(基本信息表.containsKey(number)String question=" 该生基本信息已存在, 您想修改他( 她 ) 的基本信息吗?"JOptionPane.showMessageDialog(this,question,"警告",JOptionPane.QUESTION_MESSAGE); String m=" 基本信息将被修改!"intok=JOptionPane.showConfirmDialog(this,m,"确认",JOptionPane.YES_NO_O

51、PTION,JOptionPane.INFORMATION_MESSAGE);if(ok=JOptionPane.YES_OPTION)String name=String discipling=String grade=String borth=String sex=null;if(sex=else姓名 .getText();所学专业.getText();家庭住址.getText();出生 .getText();男 .isSelected()男 .getText();sex=女 .getText();Student学生 =new Student();学生.setNumber(number);

52、学生.setName(name);学生.setDiscipling(discipling);学生.setGrade(grade);学生.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(

53、null);家庭住址.setText(null);出生 .setText(null); catch(Exception ee) System.out.println(ee); 录入修改.setEnabled(false); else if(ok=JOptionPane.NO_OPTION) 录入修改.setEnabled(true); else String warning="该学号没有基本信息, 不能修改!"JOptionPane.showMessageDialog(this,warning,"警 告",JOptionPane.WARNING_MESS

54、AGE); 录入修改.setEnabled(false); else String warning="必须要输入学号!"JOptionPane.showMessageDialog(this,warning,"警 告",JOptionPane.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 ActionListenerHashtable 基本信息表=null;JTextField 学号 , 姓名 , 所学专业, 家庭住址, 出生 ;JRadioButton 男

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论