JAVA课程设计学籍管理系统设计.doc

上传人:龙*** 文档编号:1009449 上传时间:2018-11-15 格式:DOC 页数:24 大小:965.50KB
下载 相关 举报
JAVA课程设计学籍管理系统设计.doc_第1页
第1页 / 共24页
JAVA课程设计学籍管理系统设计.doc_第2页
第2页 / 共24页
JAVA课程设计学籍管理系统设计.doc_第3页
第3页 / 共24页
JAVA课程设计学籍管理系统设计.doc_第4页
第4页 / 共24页
JAVA课程设计学籍管理系统设计.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、课程设计任务书题目: 学籍管理系统 组 员 学 号 组 员 学 号 组 员 学 号 专 业 课 程 JAVA 指导教师 完成时间:2011 年 9 月2011 年 12 月计算机科学系制1课程设计任务书及成绩评定课程设计的任务和具体要求1录入学生基本信息的功能界面。2修改学生基本信息的功能界面。3查询学生基本信息的功能界面。4删除学生基本信息的功能界面。指导教师签字: 日期: 指导教师评语成绩: 指导教师签字: 日期: 2课程设计所需软件、硬件JAVA 编程工具 MyEclipse6课程设计进度计划起止日期 工作内容 备注2011 年 10 月至2011 年 12 月编写一个程序可以用来管理学

2、籍数据库参考文献、资料索引序号 文献、资料名称 编著者 出版单位1 高晓黎,刘博主编 , 清华大学出版社2 Java 编程思想3 Java 核心技术4 深入简出 java3本学籍管理系统共有 6 个 java 源文件。类之间的主要关系如图所示。StudentManager(主类)StudentSituation Inquest Delete ModifySituationStudentStudentManager.java该 java 文件的类负责创建学籍管理系统主窗口。该类含有 main 方法,程序从该类开始执行。StudentSituation.java该文件的类负责创建学籍管理系统的学生

3、信息录入界面。ModifySituation.java该文件的类负责创建学籍管理系统的学生信息修改界面。Inquest.java该文件的类负责创建学籍管理系统的学生信息查询界面。Delete.java该文件的类负责创建学籍管理系统的学生信息删除界面。Student.java负责创建存放学生信息的对象。1 具体设计11 主类 StudentManager1成员变量(见下表)主要成员变量(属性)成员变量描述 变量类型 名称基本信息录入界面 StudentSituation 基本信息录入基本信息修改界面 ModifySituation 基本信息修改基本信息查询界面 Inquest 基本信息查询基本信

4、息删除界面 Delete 基本信息删除菜单选项 JmenuItem 录入,修改,查询,删除存放基本信息的散列表 Hashtable 基本信息存放散列表的文件 File file2方法(见下表)主要方法名称 功能 备注StudentManager 创建程序主窗口 构造方法actionPerformed 处理 ActionEvent 事件 接口方法main 程序开始运行3代码StudentManager.java4import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.u

5、til.Hashtable;public class StudentManager extends JFrame implements ActionListenerStudentSituation 基本信息录入 =null; /创建基本信息录入界面ModifySituation 基本信息修改=null; /创建基本信息修改界面Inquest 基本信息查询=null; Delete 基本信息删除 =null; JMenuBar bar;JMenu fileMenu;JMenuItem 录入,修改,查询,删除; Container con=null;Hashtable 基本信息=null; /存放

6、基本信息的散列表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(录

7、入);fileMenu.add(修改);fileMenu.add(查询);fileMenu.add(删除);bar.add(fileMenu);setJMenuBar(bar);label=new JLabel(“欢迎使用学生基本信息管理系统“,JLabel.CENTER);label.setFont(new Font(“TimesRoman“,Font.BOLD,24);label.setForeground(Color.red);基本信息=new Hashtable();录入.addActionListener(this);修改.addActionListener(this);查询.add

8、ActionListener(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);ObjectOutputStream objectOut=new ObjectOutputStream(out);objectOut.w

9、riteObject(基本信息);objectOut.close();5out.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(“删除界面“,基本信息删除);c

10、on.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.ge

11、tSource()=修改)card.show(pCenter,“修改界面“);else if(e.getSource()=查询) /“基本信息查询”窗口设置为独立窗口,以便于用户进行查询基本信息查询.setVisible(true);else if(e.getSource()=删除)card.show(pCenter,“删除界面“);public static void main(String args)new StudentManager();12 录入界面 StudentSituation1成员变量(见下表)主要成员变量(属性)6描述 变量类型 名称存放“学生”对象的散列表 Hashtab

12、le 基本信息表输入学生基本信息的文本条 JtextField 学号,姓名,专业,年级,出生存放学生信息的对象 Student 学生2方法(见下表)主要方法名称 功能 备注StudentSituation 创建学生录入界面 构造方法actionPerformed 处理 ActionEvent 事件 接口方法3代码StudentSituation.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class StudentSit

13、uation extends JPanel implements ActionListener Hashtable 基本信息表=null; /存放学生基本信息的散列表JTextField 学号,姓名,专业,年级,出生; /输入基本信息的文本条JRadioButton 男,女;Student 学生=null;ButtonGroup group=null;JButton 录入 ,重置;FileInputStream inOne=null;ObjectInputStream inTwo=null;FileOutputStream outOne=null;ObjectOutputStream outT

14、wo=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(“男“,true);女=new JRadioButton(“女“,false);group.add(男);group.add(女)

15、;录入=new JButton(“录入“);重置=new JButton(“重置“);录入.addActionListener(this);重置.addActionListener(this);Box box1=Box.createHorizontalBox(); /创建 6 个水平 Box 容器box1.add(new JLabel(“学号 :“,JLabel.CENTER);7box1.add(学号);Box box2=Box.createHorizontalBox();box2.add(new JLabel(“姓名 :“,JLabel.CENTER);box2.add(姓名);Box b

16、ox3=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);box5.add(年级);Box box6=Box.createHori

17、zontalBox();box6.add(new JLabel(“出生 :“,JLabel.CENTER);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 JP

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

19、()0) /如果已输入学号try inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);基本信息表=(Hashtable)inTwo.readObject();/首先到文件中读取Hashtable/对象inOne.close();inTwo.close();catch(Exception ee)8if(基本信息表.containsKey(number) /如果该学号对应的学生基本信息已经存在 /弹出警告对话框String warning=“该生基本信息已存在,请到修改页面修改!“;JOptionPane.showM

20、essageDialog(this,warning,“警告“,JOptionPane.WARNING_MESSAGE);else /否则,弹出确认对话框 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 gr

21、ade=年级.getText();String borth=出生.getText();String sex=null;if(男.isSelected()sex=男.getText();elsesex=女.getText();学生=new Student();学生.setNumber(number);学生.setName(name);学生.setDiscipling(discipling);学生.setGrade(grade);学生.setBorth(borth);学生.setSex(sex);tryoutOne=new FileOutputStream(file);outTwo=new Obj

22、ectOutputStream(outOne);基本信息表.put(number,学生);outTwo.writeObject(基本信息表 );outTwo.close();outOne.close();学号.setText(null);姓名.setText(null); 专业.setText(null);年级.setText(null);出生.setText(null);catch(Exception ee) 9System.out.println(ee); else /弹出警告对话框String warning=“必须要输入学号!“;JOptionPane.showMessageDialo

23、g(this,warning,“警告“,JOptionPane.WARNING_MESSAGE); if(e.getSource()=重置) 学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);13 查询界面 Inquest 1成员变量(见下表)主要成员变量(属性)描述 变量类型 名称存放“学生”对象的散列表 Hashtable year显示学生基本信息的文本条 JTextField 学号,姓名,专业,年级,出生2方法(见下表)主要方法名称 功能 备注Inquest 创建查询界

24、面 构造方法actionPerformed 处理 ActionEvent 事件 接口方法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;

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

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

Copyright © 2018-2021 Wenke99.com All rights reserved

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

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

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