【计算机毕设】Java课程设计

该文章描述了一个基于Java的班级管理系统的设计,包括学生基本信息的录入、修改、查询和删除功能。系统由6个主要的Java源文件组成,如StudentManager、StudentSituation等,使用Hashtable存储学生数据,并通过File进行持久化存储。
摘要由CSDN通过智能技术生成

一:需求分析

1.功能需求

1).能够实现对班级学生基本资料的录入,包括学生的学号,姓名,性别,所学专业,家庭住址以及出生年月等。

2).能够实现对学生基本资料的修改。

3).根据学号对学生资料进行查询。

4).能够删除某些学生的资料。

二:总体设计

  本班级管理系统共有6个java源文件。

类之间的主要关系如下图所示:

   

各主类的主要作用如下:

1).StudentManager.java

该java文件的类负责创建班级学生管理系统的主窗口。该类包含main方法,程序从该类开始执行。

2).StudentStituation.java

该文件的类负责创建班级学生管理系统的学生信息录入界面。

3).ModifySituation.java

该文件的类负责创建班级学生管理系统的学生基本信息修改界面。

4).Inquest.java

该文件的类负责创建班级学生管理系统的学生基本信息查询界面。

5).Delete.java

该文件的类负责创建班级学生管理系统的学生信息删除界面。

6).Student.java

负责创建存放学生信息的对象。

三:详细设计

  1. 主类StudentManager.java

1).成员变量

主要成员变量

成员变量描述

变量类型

变量名称

基本信息录入界面

基本信息修改界面

基本信息查询界面

基本信息删除界面

菜单选项

 存基本信息的散列表

存放散列表的文件

StudentSituation

ModifySituation

Inquest

Delete

JMenuItem

Hashtable

File

基本信息录入

基本信息修改

基本信息查询

基本信息删除

录入,修改,查询,删除

基本信息

file

2).方法

主要方法

名称

功能

备注

StudentManager

actionPerformed

main

创建程序主窗口

 处理ActionEvent事件

程序开始运行

构造方法

接口方法

3).代码

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          基本信息查询=null;

   Delete           基本信息删除=null;

   JMenuBar bar;

   JMenu fileMenu;

   JMenuItem 录入,修改,查询,删除,退出;      

   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("退出本系统");

     退出.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(删除);

     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);

     修改.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);

           ObjectOutputStreamobjectOut=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 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.录入界面

1).成员变量

主要成员变量属性

描述

变量类型

变量名称

存放“学生”对象的散列表

输入学生基本信息的文本

存放学生信息的对象

Hashtable

JTextField

Student

基本信息表

学号,姓名,所学专业,家庭住址,出生

学生

2).方法

主要方法

名称

功能

备注

StudentSituation

actionPerformed

创建学生信息录入界面

处理ActionEvent事件

构造方法

接口方法

3).代码

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

  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)

未完待续

 

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序袁小子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值