java课程设计学生信息管理系统
Java程序设计课程设计 目 录 一、 总体设计1.1学生信息系统结构图1。1.2本系统的主要功能2。1.3 Java源文件及其功能2。二 、详细设计2.1主类StudentManager3.2.2类StudentSituation52.3类ModifySituation.82.4类inquest102.5类Delete122.6类Student.13三、功能测试及运行效果3.1 系统主界面.153.2 录入信息界面.153.3 修改信息界面.163.3 查询信息界面163.3 删除信息界面17程序总结17参考文献17一、总体设计1.1学生信息系统结构图学生信息管理系统查询学生信息删除学生信息修改学生信息录入学生信息删除学号查询学号修改年级修改专业修改姓名录入学号修改生日录入年级出生日期录入姓名录入专业录入学号 删除专业删除姓名显示生日显示年级显示专业显示姓名删除生日删除年级 学生信息系统分析结构图1.2本系统的主要功能运行该系统成功后,会出现一个欢迎使用的主界面,上面的菜单选项,会弹出4个子菜单分别是录入基本信息、修改基本信息、查询基本信息、删除基本信息。点击它们会出现不同的界面,分别有不同的功能:1. StudentManager.java 该类负责创建学生信息管理系统的主窗口,该类还有main方法,程序从该类开始执行。 2. StudentSituation.java 该类创建的对象是StudentManager类的重要成员之一,负责提供录入、重置学生基本信息的界面。 3. ModifySituation.java 该类创建的对象是StudentManager类的重要成员之一,负责提供修改学生基本信息的界面。4.Delete.java该类创建的对象是StudentManager类的重要成员之一,负责提供删除学生基本信息的界面。5.inquest.java创建的对象是StudentManager类的重要成员之一,该类负责提供查询学生基本信息的界面。该类创建的对象是StudentManager类的重要成员之一,该类在做上面操作时可以返回学生的基本信息,主要起到一个返回的作用。本系统是基于数据库的学生信息管理系统,实现了连接数据库,录入、修改、查询、删除学生信息的功能。1.3 Java源文件及其功能1.icon.jpg该文件是窗口最小化时的窗口图标,StudentSituation需要调用该文件。 2.专业.txt该文件为专业组合的组合键提供下拉菜单的内容,StudentSituation和ModifySituation调用该文件。二、详细设计2.1主类StudentManager表2-1 主要成员变量(属性)成员变量描述变量类型名称面板StudentSituationNULL面板ModifySituationNULL面板inquest NULL 面板DeleteNULL 菜单栏JMenuBarbar菜单组JMenufileMenu菜单项JMenuItemStudentSituation,ModifySituationInquest, Delete布局管理器CardLayoutcard表2-2 主要方法方法名称返回类型功能备注StudentManager无类型创建窗口构造方法actionPerformed无类型处理响应事件继承自父类抽象方法main无类型执行程序程序的主函数源代码StudentManager.javaimport 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 基本信息查询=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("welcome to use students system!",JLabel.CENTER); label.setFont(new Font("楷体", Font.BOLD, 22); label.setForeground(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=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("欢迎语界面",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(); public void actionPerformed(ActionEvent e) if(e.getSource()=录入) card.show(pCenter,"录入界面"); else