java课程设计学生信息管理系统.docx

上传人:小飞机 文档编号:3159743 上传时间:2023-03-11 格式:DOCX 页数:28 大小:43.08KB
返回 下载 相关 举报
java课程设计学生信息管理系统.docx_第1页
第1页 / 共28页
java课程设计学生信息管理系统.docx_第2页
第2页 / 共28页
java课程设计学生信息管理系统.docx_第3页
第3页 / 共28页
java课程设计学生信息管理系统.docx_第4页
第4页 / 共28页
java课程设计学生信息管理系统.docx_第5页
第5页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《java课程设计学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《java课程设计学生信息管理系统.docx(28页珍藏版)》请在三一办公上搜索。

1、java课程设计学生信息管理系统Java程序设计 课程设计 目 录 一、 总体设计 1.1学生信息系统结构图1。 1.2本系统的主要功能2。 1.3 Java源文件及其功能2。 二 、详细设计 2.1主类StudentManager3. 2.2类StudentSituation5 2.3类ModifySituation.8 2.4类inquest10 2.5类Delete12 2.6类Student.13 三、功能测试及运行效果 3.1 系统主界面.15 3.2 录入信息界面.15 3.3 修改信息界面.16 3.3 查询信息界面16 3.3 删除信息界面17 程序总结17 参考文献17 一、

2、总体设计 1.1学生信息系统结构图 录入学生信息修改 学生信 息学生信息管理系统 查询学生信息删除学生信息录入学号录入姓名录入专业录入年级出生日期录修 入改学 姓号名 修改专业修改年级修改生日查询学号删除学号1.2本系统的主要功能 运行该系统成功后,会出现一个欢迎使用的主界面,上面的菜单选项,会弹出4个子菜单分别是录入基本信息、修改基本信息、查询基本信息、删除基本信息。点击它们会出现不同的界面,分别有不同的功能: 1. StudentManager.java 该类负责创建学生信息管理系统的主窗口,该类还有main方法,程序从该类开始执行。 学生信息系统分析结构图 显示姓名显示专业显示年级显示生

3、日删除姓名删除专业删除年级删除生日2. StudentSituation.java 该类创建的对象是StudentManager类的重要成员之一,负责提供录入、重置学生基本信息的界面。 3. ModifySituation.java 该类创建的对象是StudentManager类的重要成员之一,负责提供修改学生基本信息的界面。 4.Delete.java 该类创建的对象是StudentManager类的重要成员之一,负责提供删除学生基本信息的界面。 5.inquest.java 创建的对象是StudentManager类的重要成员之一,该类负责提供查询学生基本信息的界面。 6.Student.

4、java 该类创建的对象是StudentManager类的重要成员之一,该类在做上面操作时可以返回学生的基本信息,主要起到一个返回的作用。 本系统是基于数据库的学生信息管理系统,实现了连接数据库,录入、修改、查询、删除学生信息的功能。 1.3 Java源文件及其功能 1.icon.jpg 该文件是窗口最小化时的窗口图标,StudentSituation需要调用该文件。 2.专业.txt 该文件为专业组合的组合键提供下拉菜单的内容,StudentSituation和ModifySituation调用该文件。 二、详细设计 2.1主类StudentManager 表2-1 主要成员变量 成员变量描

5、述 面板 面板 面板 面板 菜单栏 变量类型 StudentSituation ModifySituation inquest 名称 NULL NULL NULL NULL Delete JMenuBar bar 菜单组 菜单项 布局管理器 JMenu JMenuItem CardLayout fileMenu StudentSituation,ModifySituation Inquest, Delete card 表2-2 主要方法 方法名称 StudentManager actionPerformed main 返回类型 无类型 功能 创建窗口 备注 构造方法 无类型 无类型 处理响应事

6、件 执行程序 继承自父类抽象方法 程序的主函数 源代码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; Inquest 基本信息查

7、询=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(查询基本信息); 删除=ne

8、w JMenuItem(删除基本信息); bar=new JMenuBar; fileMenu=new JMenu(菜单选项); fileMenu.add(录入); fileMenu.add(修改); fileMenu.add(查询); fileMenu.add(删除); bar.add(fileMenu); setJMenuBar(bar); label=new JLabel(welcome to use students system!,JLabel.CENTER); label.setFont(new Font(楷体, Font.BOLD, 22); label.setForegroun

9、d(Color.black); 基本信息=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

10、=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.ad

11、d(欢迎语界面,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; pub

12、lic 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; 2.2类StudentS

13、ituation 表2-3 主要成员变量 成员变量描述 Hashtable对象类型 文本域 组合框 单选框 按钮多斥作用域 按钮 变量类型 Hashtable 名称 NULL 学号、姓名、专业、年级、出生 Smajor 男、女 group 录入、重置 JTextField JComboBox ButtonGroup ButtonGroup JButton 表2-4 主要方法 方法名称 StudentSituation actionPerformed 返回类型 无类型 无类型 功能 创建录入学生信息界面 处理响应事件 备注 构造方法 继承自父类抽象方法 源代码StudentSituation.j

14、ava 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 录入,重置

15、; 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(1

16、0); group=new ButtonGroup; 男=new JRadioButton(男,true); 女=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

17、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(专业:,JLabel.CENTER); box4.add(专业); Box box5=Box.createHorizonta

18、lBox; 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.createVerti

19、calGlue); 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=; num

20、ber=学号.getText; if(number.length0) 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,警告,

21、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 grade=年级.getText; String borth=出生.getText; Str

22、ing 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(numb

23、er,学生); 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

24、); if(e.getSource=重置) 学号.setText(null); 姓名.setText(null); 专业.setText(null); 年级.setText(null); 出生.setText(null); 2.3类ModifySituation 表2-5 主要成员变量 成员变量描述 Hashtable对象类型 文本域 组合框 单选框 按钮多斥作用域 按钮 变量类型 Hashtable JTextField JComboBox ButtonGroup ButtonGroup JButton 表2-6 主要方法 名称 NULL 学号、姓名、专业、年级、出生 Smajor 男、女

25、group 开始修改、录入修改、重置 方法名称 返回类型 无类型 无类型 无类型 功能 创建修改学生信息界面 处理响应事件 清除文本框内容 备注 构造方法 继承自父类抽象方法 ModifySituation actionPerformed clearMess 无 8 核心源代码ModifySituation.java public class ModifySituation extends JPanel implements ActionListener Hashtable 基本信息表=null; JTextField 学号,姓名,专业,年级,出生; JRadioButton 男,女; But

26、tonGroup 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); 年级

27、=new JTextField(10); 出生=new JTextField(10); group=new ButtonGroup; 男=new JRadioButton(男,true); 女=new JRadioButton(女,false); group.add(男); group.add(女); 开始修改=new JButton(开始修改); 录入修改=new JButton(录入修改); 录入修改.setEnabled(false); 重置=new JButton(重置); 学号.addActionListener(this); 开始修改.addActionListener(this)

28、; 录入修改.addActionListener(this); 重置.addActionListener(this); Box box1=Box.createHorizontalBox; .部分源代码省略. 学号.setText(null); 姓名.setText(null); 专业.setText(null); 年级.setText(null); 出生.setText(null); catch(Exception ee) System.out.println(ee); 录入修改.setEnabled(false); else if(ok=JOptionPane.NO_OPTION) 录入修改

29、.setEnabled(true); else String warning=该学号没有基本信息,不能修改!; 录入修改.setEnabled(false); else String warning=必须要输入学号!; JoptionPane.showmessageDialog(this,waring, 警告,JoptionPane.WARNING 录入修改.setEnabled(false); if(e.getSource=重置) 学号.setText(null); 姓名.setText(null); 专业.setText(null); 年级.setText(null); 出生.setTex

30、t(null); 2.4类inquest 表2-7主要成员变量 成员变量描述 Hashtable对象类型 文本域 启动并执行打印作业 单选框 按钮多斥作用域 按钮 变量类型 Hashtable JTextField PrintJob ButtonGroup ButtonGroup JButton 表2-8主要方法 名称 inquest 学号,姓名,专业,年级,出生 pri 男,女 group 查询 方法名称 返回类型 无类型 无类型 功能 创建录入学生信息界面 处理响应事件 备注 构造方法 继承自父类抽象方法 inquest actionPerformed 核心源代码inquest.java

31、import 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) .部分源代码省略. inOne.close; inTwo.close; catch(Exception ee) if(基本信息表.containsKey(number) Student stu=(Student)基本信息表.get(number); 姓名.setText(stu.getName); 专业.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号