java课程设计(班级管理系统)
import java.util.Hashtable;
public class StudentManager extends JFrame implements ActionListener
{
StudentSituation 基本信息录入=null;
ModifySituation 基本信息修改=null;
main
主要方法 功能 创建程序主窗口 处理 ActionEvent 事件 程序开始运行
备注 构造方法 接口方法
3).代码
StudentManager.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
删除=new JMenuItem("删除学生基本信息");
2在各种埋地管道的应用过程中,能否达到规定长期使寿命一个关键因素就是铺设质量。而HDPE具有多独特性更加安全
退出=new JMenuItem("退出本系统"); 退出.addActionListener(new ActionListener()
二:总体设计
本班级管理系统共有 6 个 java 源文件。 类之间的主要关系如下图所示:
StudentManager(主类)
StudentSituation
Inques
Delete
ModiifySituation
Studen
各主类的主要作用如下: 1).StudentManager.java 该 java 文件的类负责创建班级学生管理系统的主窗口。该类包含 main 方法,程序从 该类开始执行。 2).StudentStituation.java 该文件的类负责创建班级学生管理系统的学生信息录界面。 3).ModifySituation.java 该文件的类负责创建班级学生管理系统的学生基本信息修改界面。 4).Inquest.java 该文件的类负责创建班级学生管理系统的学生基本信息查询界面。 5).Delete.java 该文件的类负责创建班级学生管理系统的学生信息删除界面。 6).Student.java 负责创建存放学生信息的对象。
JLabel label;
JPanel pCenter;
public StudentManager()
{
setTitle("欢迎进入班级管理系统");
录入=new JMenuItem("录入学生基本信息");
修改=new JMenuItem("修改学生基本信息");
查询=new JMenuItem("查询学生基本信息");
Inquest
基本信息查询=null;
Delete
基本信息删除=null;
JMenuBar bar;
JMenu fileMenu;
JMenuItem 录入,修改,查询,删除,退出;
Container con=null;
Hashtable 基本信息=null;
File file=null;
CardLayout card=null;
菜单选项 存基本信息的散列表 存放散列表的文件
StudentSituation ModifySituation
Inquest Delete JMenuItem Hashtable File
基本信息录入 基本信息修改 基本信息查询 基本信息删除 录入,修改,查询,删除
基本信息 file
2).方法
名称 StudentManager actionPerformed
card=new CardLayout(); con=getContentPane(); pCenter=new JPanel(); pCenter.setLayout(card); file=new File("学生基本信息.txt"); if(!file.exists())
三:详细设计
1. 主类 StudentManager.java 1).成员变量
成员变量描述
主要成员变量 变量类型
变量名称
1在各种埋地管道的应用过程中,能否达到规定长期使寿命一个关键因素就是铺设质量。而HDPE具有多独特性更加安全
基本信息录入界面 基本信息修改界面 基本信息查询界面 基本信息删除界面
Java 课程设计
------简单的班级管理系统
学院: 班级: 姓名: 学号:
在各种埋地管道的应用过程中,能否达到规定长期使寿命一个关键因素就是铺设质量。而HDPE具有多独特性更加安全
一:需求分析
1.功能需求 1).能够实现对班级学生基本资料的录入,包括学生的学号,姓名,性别,所学 专业,家庭住址以及出生年月等。 2).能够实现对学生基本资料的修改。 3).根据学号对学生资料进行查询。 4).能够删除某些学生的资料。
{ 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);
java学生管理系统课程设计心得体会
Java学生管理系统课程设计心得体会引言在大学学习Java编程语言期间,我们通常需要进行一些实践项目,以巩固所学知识并提升编程水平。
其中,设计一个学生管理系统是非常常见的项目之一。
在完成这个课程设计项目的过程中,我积累了一些心得体会,希望与大家分享。
项目概述学生管理系统是一个以学生为对象的信息管理系统,可以用于学校、培训机构等教育实体,用于完成学生信息录入、查询、修改和删除等管理功能。
该系统可以帮助管理人员高效地管理学生信息,提供便利的查询和操作方式。
设计过程1. 需求分析在设计任何系统之前,首先需要明确需求。
仔细观察系统的使用场景,与相关人员进行沟通,收集并整理需求。
在学生管理系统中,主要包括学生信息的录入、查询和修改功能,并需要具备一定的可扩展性,以满足未来可能的需求变更。
2. 概要设计在需求分析的基础上,进行系统的概要设计。
首先,确定系统的整体结构,包括主要的模块和它们之间的关系。
然后,定义每个模块的功能和接口,并绘制相应的类图和时序图。
在学生管理系统中,可以设计学生信息模块、查询模块和修改模块等。
3. 详细设计在概要设计的基础上,进行系统的详细设计。
详细设计主要涉及类的具体设计,包括属性的定义和方法的实现。
在Java中,可以采用面向对象的方式进行设计,利用类、对象和继承等特性,实现系统的功能。
在学生管理系统中,可以设计一个Student类来表示学生,包含学生的基本属性和相关方法。
4. 编码与测试在完成详细设计后,开始进行编码和测试。
根据设计的类和方法,使用Java编程语言实现相应的功能。
编码过程中,要注意代码的规范和可读性,并进行必要的注释。
完成编码后,进行系统的测试,包括单元测试和集成测试,以验证系统的正确性和稳定性。
5. 部署与维护在经过测试并确保系统的正常运行后,将系统部署到目标环境中,提供给用户使用。
在系统的使用过程中,要定期进行维护和更新,以确保系统的安全和稳定。
同时,根据用户的反馈和需求变化,及时进行系统的优化和升级,提供更好的用户体验。
学生管理系统JAVA课课程设计
学生管理系统JAVA课课程设计一、教学目标本课程的目标是让学生掌握学生管理系统的Java编程知识,能够运用Java语言实现一个简单的学生管理系统。
具体目标如下:1.知识目标:–理解Java语言的基本语法和数据结构。
–掌握Java中的控制结构和面向对象编程思想。
–了解Java中的文件操作和数据库连接。
2.技能目标:–能够使用Java编写简单的程序,实现学生的增删改查功能。
–能够使用Java连接数据库,实现对学生信息的持久化存储。
–能够使用Java的文件操作,读写学生数据。
3.情感态度价值观目标:–培养学生的编程兴趣,提高学生解决问题的能力。
–培养学生团队协作的精神,提高学生的沟通表达能力。
二、教学内容根据课程目标,本课程的教学内容主要包括以下几个部分:1.Java语言基础:包括基本语法、数据类型、变量、运算符等。
2.控制结构:包括条件语句、循环语句等。
3.面向对象编程:包括类、对象、继承、多态等。
4.文件操作:包括文件的读写、文件管理等。
5.数据库连接:包括JDBC的概念、数据库的连接与操作等。
6.学生管理系统的设计与实现:包括系统需求分析、系统设计、功能实现等。
三、教学方法为了达到课程目标,本课程将采用以下几种教学方法:1.讲授法:用于讲解Java语言基础、控制结构、面向对象编程等理论知识。
2.案例分析法:通过分析实际案例,让学生理解并掌握文件操作和数据库连接的方法。
3.实验法:让学生动手编写代码,实现学生管理系统,提高学生的实际操作能力。
4.小组讨论法:分组让学生讨论问题,培养学生的团队协作和沟通能力。
四、教学资源为了支持课程的顺利进行,我们将准备以下教学资源:1.教材:《Java编程思想》等。
2.参考书:《Java核心技术》、《Java Web开发》等。
3.多媒体资料:教学PPT、视频教程等。
4.实验设备:计算机、网络环境、数据库服务器等。
五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分,以保证评估的客观性和公正性。
基于java web的学生管理系统的设计与实现
基于Java Web的学生管理系统的设计与实现摘要本文旨在介绍一个基于Java Web的学生管理系统的设计与实现。
学生管理系统是一个常见的管理信息系统,用于管理学校、大学或其他教育机构中的学生信息。
通过使用Java Web技术,我们可以方便地实现学生信息的增删改查等功能,并提供友好的用户界面供管理员和教师使用。
1. 引言学生管理系统是一种管理信息系统,用于管理学生在学校的信息,包括个人信息、课程信息、成绩信息等。
传统的学生管理系统主要依靠纸质档案和人工管理,效率低下且易出错。
因此,开发一个基于Java Web的学生管理系统,能够方便快捷地管理学生信息,提高管理效率,减少错误。
2. 系统需求学生管理系统的功能需求主要包括以下几个方面:•学生信息管理:包括学生的基本信息,如姓名、性别、年龄等。
•课程管理:包括课程的添加、编辑和删除等操作。
•成绩管理:包括学生成绩的录入和查询等操作。
•班级管理:包括班级的添加、编辑和删除等操作。
3. 系统设计与实现3.1 技术选择本系统选择使用以下技术进行设计与实现:•前端技术:HTML、CSS、JavaScript、Bootstrap等。
•后端技术:Java、Spring MVC、MyBatis等。
•数据库:MySQL。
3.2 系统架构学生管理系统采用MVC(Model-View-Controller)架构模式,将系统的功能分成不同的模块,实现解耦和灵活性。
•模型(Model):负责处理与数据相关的逻辑,包括数据的存储、提取和处理。
•视图(View):负责展示数据给用户,并接收用户的输入。
•控制器(Controller):负责接收用户输入的请求,并根据请求调用相应的模型和视图。
3.3 数据库设计学生管理系统的数据库设计主要包括以下几个表:•学生表(students):包括学生的基本信息,如学号、姓名、性别、年龄等。
•课程表(courses):包括课程的信息,如课程编号、课程名称、学分等。
学生信息管理系统java课程设计(含源代码)
JAVA 程序设计 课程设计陈述宇文皓月课 题: 学生信息管理系统 姓 名: 学 号: 同组姓名: 专业班级: 指导教师: 设计时间:目 录1、需要实现的功能32、设计目的3 1、功能模块划分32、数据库结构描述43、系统详细设计文档64、各个模块的实现方法描述95、测试数据及期望结果11一、系统描述1、需求实现的功能1.1、录入学生基本信息的功能学生基本信息主要包含:学号、姓名、年龄、出生地、专业、班级总学分,在拔出时,如果数据库已经存在该学号,则不克不及再拔出该学号。
1.2、修改学生基本信息的功能在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。
评阅意见:评定成绩:指导老师签名:年 月 日1.3、查询学生基本信息的功能可使用“姓名”对已存有的学生资料进行查询。
1.4、删除学生基本信息的功能在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。
1.5、用户登陆用分歧的登录权限可以进入分歧的后台界面,从而实现权限操纵。
1.6、用户登陆信息设置可以修改用户登陆密码2、设计目的学生信息管理系统是一个教育单位不成缺少的部分。
一个功能齐全、简单易用的信息管理系统不单能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。
所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将发生大量的文件和数据,这对于查找、更新和维护都带来了很多困难。
随着科学技术的不竭提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理无法比较的优点。
例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。
课程信息管理系统java课程设计
课程信息管理系统java课程设计一、课程目标知识目标:1. 学生能够掌握Java语言基础,包括数据类型、控制结构、类与对象等;2. 学生能够理解课程信息管理系统的功能需求,掌握系统设计的基本原理;3. 学生能够运用所学知识,实现课程信息管理系统的基本功能模块。
技能目标:1. 学生能够运用Java语言编写程序,实现课程信息管理系统的功能;2. 学生能够运用面向对象编程思想,进行系统设计和模块划分;3. 学生能够运用调试工具,调试并优化自己的程序。
情感态度价值观目标:1. 学生通过课程学习,培养对编程的兴趣和热情;2. 学生在团队协作中,学会沟通、分享和承担责任;3. 学生能够认识到编程在生活中的应用,提高对信息技术的认识。
课程性质:本课程为实践性较强的学科,要求学生结合所学理论知识,动手实践,培养编程能力和实际应用能力。
学生特点:学生处于高年级阶段,具有一定的Java编程基础,对面向对象编程有一定的了解,具备一定的自主学习能力。
教学要求:结合课程性质、学生特点,注重理论与实践相结合,培养学生的编程能力和实际应用能力。
通过课程学习,使学生能够独立完成课程信息管理系统的设计与实现。
同时,关注学生的情感态度价值观培养,提高学生的团队协作能力和信息技术素养。
将课程目标分解为具体的学习成果,便于后续教学设计和评估。
二、教学内容1. Java语言基础回顾:数据类型、控制结构、数组、类与对象等基本概念;2. 面向对象编程:封装、继承、多态等核心概念,以及设计模式初步了解;3. 课程信息管理系统需求分析:梳理系统功能,明确模块划分;4. 数据库基础:SQL语句编写,数据库连接与操作;5. Java图形用户界面(GUI)设计:Swing组件的使用,界面布局与美化;6. 课程信息管理系统的设计与实现:- 系统架构设计:分层设计,模块划分;- 功能模块开发:课程信息添加、修改、删除、查询等;- 系统测试与优化:测试用例设计,性能优化;7. 项目实践与团队协作:分组进行项目实践,培养学生的团队协作能力。
教室管理系统java课程设计
教室管理系统java课程设计一、教学目标本课程旨在通过Java编程语言实现一个简单的教室管理系统,让学生掌握Java编程的基本语法、面向对象编程思想以及数据库操作。
在知识目标上,要求学生了解Java语言的基本数据类型、控制结构、类与对象、继承与多态等核心概念;在技能目标上,要求学生能够运用Java语言独立完成一个小型项目的开发;在情感态度价值观目标上,培养学生对编程的兴趣,提高学生解决问题的能力。
二、教学内容本课程的教学内容主要包括Java语言的基本语法、面向对象编程、数据库操作以及项目实践。
具体安排如下:1.第一章:Java语言概述,学习Java语言的基本语法,包括数据类型、控制结构等。
2.第二章:面向对象编程,学习类与对象、继承与多态等概念,并能够运用这些知识解决实际问题。
3.第三章:数据库操作,学习SQL语言的基本操作,包括创建表、插入数据、查询数据等。
4.第四章:项目实践,利用所学知识完成一个教室管理系统的开发。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法和实验法等。
在教学过程中,教师将引导学生通过查阅教材、编写代码、分析案例、讨论问题等方式,深入理解Java编程语言和数据库操作的相关知识,并能够运用这些知识解决实际问题。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:《Java编程思想》、《SQL基础教程》等。
2.参考书:提供一些与课程相关的参考书籍,供学生自主学习。
3.多媒体资料:制作课件、教学视频等,以图文并茂的形式呈现教学内容。
4.实验设备:提供计算机实验室,让学生能够进行实际操作和练习。
五、教学评估本课程的教学评估将采用多元化评价方式,全面反映学生的学习成果。
评估方式包括平时表现、作业、考试等。
平时表现主要评估学生的课堂参与度、提问回答、团队协作等情况;作业分为编程练习和理论作业,要求学生按时完成,并对作业质量进行评估;考试分为期中和期末考试,内容涵盖课程所有知识点,采用闭卷考试方式。
学生信息管理系统课程设计java
学生信息管理系统课程设计 java一、课程目标知识目标:1. 让学生理解学生信息管理系统的基本概念,掌握Java语言实现该系统的核心知识,包括类的定义、对象的使用、集合框架等。
2. 使学生掌握如何使用Java编写数据库连接程序,实现对数据库的增、删、改、查等基本操作。
3. 帮助学生了解Java GUI编程,能够使用Swing组件设计出友好的用户界面。
技能目标:1. 培养学生运用Java语言设计并实现学生信息管理系统,提高编程实践能力。
2. 培养学生分析问题、解决问题的能力,能够根据需求独立完成系统功能模块的设计与实现。
3. 培养学生具备一定的项目开发经验,能够进行团队合作,分工协作完成项目。
情感态度价值观目标:1. 激发学生对Java编程的兴趣,培养其主动学习的习惯,提高学习积极性。
2. 培养学生具备良好的编程习惯,注重代码规范,提高代码质量。
3. 培养学生的团队协作意识,使其认识到团队协作的重要性,学会与他人共同解决问题。
课程性质:本课程为实践性较强的Java语言课程,以项目驱动的方式进行教学,旨在提高学生的编程能力、项目开发能力和团队协作能力。
学生特点:学生已具备一定的Java基础,具有一定的编程能力,但缺乏实际项目经验和团队协作能力。
教学要求:结合学生特点,注重实践操作,引导学生主动参与,充分调动学生的积极性,培养其编程实践和团队协作能力。
在教学过程中,将课程目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. Java基础回顾:包括类与对象、继承与多态、集合框架等基础知识,对应教材第一章至第四章。
- 类与对象:定义类、创建对象、封装、构造方法等。
- 继承与多态:继承的概念、方法重写、多态性等。
- 集合框架:常用集合类、迭代器、泛型等。
2. 数据库连接与操作:学习JDBC技术,实现与数据库的连接、数据查询、插入、删除和修改操作,对应教材第五章。
- JDBC概念与使用:理解JDBC的作用,掌握JDBC API的使用。
基于java的班级事务管理系统的设计与实现
基于java的班级事务管理系统的设计与实现基于Java语言的班级事务管理系统是一种方便高效的管理班级事务的工具。
该系统主要包括学生管理、课程管理、班级管理和成绩管理等模块,通过这些模块可以实现对班级事务的综合管理和信息化处理。
系统的设计与实现主要包括以下几个方面:1.需求分析:首先要明确系统的功能需求,包括学生信息的录入、修改、查询和删除,课程信息的录入、修改、查询和删除,班级信息的录入、修改、查询和删除,以及成绩的录入、修改、查询和统计等功能。
2.数据库设计:根据需求分析的结果,设计数据库的表结构,包括学生表、课程表、班级表和成绩表等。
每个表的字段需要根据对应的业务需求进行设计,保证数据库能够高效地存储和检索数据。
3.界面设计:根据需求分析的结果,设计用户界面,包括学生信息管理界面、课程信息管理界面、班级信息管理界面、成绩管理界面等。
界面应该简洁、友好,方便用户进行操作和管理。
4.逻辑设计:根据需求分析的结果,设计系统的业务逻辑处理。
主要包括学生信息的录入、修改、查询和删除的逻辑,课程信息的录入、修改、查询和删除的逻辑,班级信息的录入、修改、查询和删除的逻辑,以及成绩的录入、修改、查询和统计的逻辑。
5.代码实现:根据逻辑设计的结果,使用Java语言编写代码实现系统的功能。
可以采用面向对象的设计思想,使用类和对象的方式实现对学生、课程、班级和成绩等信息的管理和操作。
6.测试与调试:完成代码编写后,对系统进行测试和调试。
主要包括对功能的测试、数据的输入和输出的测试以及异常处理的测试。
确保系统在各种情况下都能正确地进行处理和运行。
7.系统部署:完成测试后,将系统部署到服务器上,提供给用户使用。
可以使用Web技术将系统部署为一个在线系统,用户可以通过浏览器访问系统进行事务管理。
通过以上步骤的设计与实现,可以开发一个功能完善、稳定可靠的班级事务管理系统,提高班级事务的管理效率和信息化水平。
开发者还可以根据实际需求进行功能扩展和优化,不断完善系统。
JAVA课程设计报告,基于mysql的学生信息管理系统
总结16一、课题介绍课题介绍 ...................................... ...................................... 3二、目的和要求目的和要求 ................................... ................................... 3三、任务计划任务计划 ...................................... .. (3)需求分析需求分析 (5)一、学生管理系统的发展现状学生管理系统的发展现状 ................................ ................................ 5二、系统功能分析系统功能分析 ................................... .. (5)三、系统结构框图系统结构框图 ................................... .. (5)数据库设计.........................................创建数据表的结构创建数据表的结构 ................................. (7)各表功能及其关系各表功能及其关系 ................................. (7)系统模块功能的实现与界面设计 (8)一、系统主要模块系统主要模块 ................................... ................................... 8二、欢迎界面欢迎界面 ..................................... ..................................... 9三、主菜单界面主菜单界面 ............................ ............................ 错误!未定义书签。
java课程设计(班级管理系统)
Java课程设计------简单的班级管理系统一:需求分析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.java1).成员变量主要成员变量2).方法主要方法3).代码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;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).成员变量主要成员变量属性2).方法3).代码StudentSituation.javaimport 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){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(女);录入=new JButton("录入");重置=new JButton("重置");录入.addActionListener(this);重置.addActionListener(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.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.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();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()>0){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,警告",JOptionPane.WARNING_MESSAGE);}else{String m="基本信息将被录入!";intok=JOptionPane.showConfirmDialog(this,m,"确认",JOptionPane.YES_NO_OPTION,RMATION_MESSAGE);if(ok==JOptionPane.YES_OPTION){String name=姓名.getText();String discipling=所学专业.getText();String grade=家庭住址.getText();String borth=出生.getText();String 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(number,学生);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);}}if(e.getSource()==重置){学号.setText(null);姓名.setText(null);所学专业.setText(null);家庭住址.setText(null);出生.setText(null);}}}3.查询界面1).成员变量主要成员变量属性2).方法主要方法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;ObjectInputStream inTwo=null;File file=null;public Inquest(JFrame f,File file){super(f,"查询对话框",false); this.file=file;学号=new JTextField(10);查询=new JButton("查询");学号.addActionListener(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("女",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=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.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();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(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.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);}}else{String warning="该学号不存在!";JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);}}else{String warning="必须要输入学号!";JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);}}}}3.修改界面1).成员变量主要成员变量2).方法主要方法3).代码ModifySituation.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class ModifySituation extends JPanel implements ActionListener {Hashtable 基本信息表=null;JTextField 学号,姓名,所学专业,家庭住址,出生;JRadioButton 男,女;ButtonGroup 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);家庭住址=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);录入修改.addActionListener(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.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.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();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="";number=学号.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(stu.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,"警告",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(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();}catch(Exception ee){}if(基本信息表.containsKey(number)){String question="该生基本信息已存在,您想修改他(她)的基本信息吗?"; JOptionPane.showMessageDialog(this,question,"警告",JOptionPane.QUESTION_MESSAGE);String m="基本信息将被修改!";int ok=JOptionPane.showConfirmDialog(this,m,"确认",JOptionPane.YES_NO_OPTION,RMATION_MESSAGE);if(ok==JOptionPane.YES_OPTION){String name=姓名.getText();String discipling=所学专业.getText();String grade=家庭住址.getText();String borth=出生.getText();String sex=null;if(男.isSelected()){sex=男.getText();}else{sex=女.getText();}Student 学生=new Student();学生.setNumber(number);学生.setName(name);学生.setDiscipling(discipling);学生.setGrade(grade);学生.setBorth(borth);学生.setSex(sex);try{outOne=new FileOutputStream(file);outTwo=new ObjectOutputStream(outOne);基本信息表.put(number,学生);outTwo.writeObject(基本信息表);outTwo.close();outOne.close();学号.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){录入修改.setEnabled(true);}}else{String warning="该学号没有基本信息,不能修改!";JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);录入修改.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);}}}4.删除界面1).成员变量主要成员变量2).方法主要方法3).代码Delete.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class Delete extends JPanel implements ActionListener{Hashtable 基本信息表=null;JTextField 学号,姓名,所学专业,家庭住址,出生;JRadioButton 男,女;JButton 删除;ButtonGroup group=null;FileInputStream inOne=null;ObjectInputStream inTwo=null;FileOutputStream outOne=null;ObjectOutputStream outTwo=null;File file=null; public Delete(File file){this.file=file;学号=new JTextField(10);删除=new JButton("删除");学号.addActionListener(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("女",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=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.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();pCenter.add(boxH);setLayout(new BorderLayout());add(pCenter,BorderLayout.CENTER);validate();}public void actionPerformed(ActionEvent e){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.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);}String m="确定要删除该学号及全部信息吗?";int ok=JOptionPane.showConfirmDialog(this,m,"确认",JOptionPane.YES_NO_OPTIONJOptionPane.QUESTION_MESSAGE);if(ok==JOptionPane.YES_OPTION){基本信息表.remove(number);try{outOne=new FileOutputStream(file);outTwo=new ObjectOutputStream(outOne);outTwo.writeObject(基本信息表);outTwo.close();outOne.close();学号.setText(null);姓名.setText(null);所学专业.setText(null);家庭住址.setText(null);出生.setText(null);}catch(Exception ee){System.out.println(ee);}}else if(ok==JOptionPane.NO_OPTION){学号.setText(null);姓名.setText(null);所学专业.setText(null);家庭住址.setText(null);出生.setText(null);}}else{String warning="该学号不存在!";JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);}}else{String warning="必须要输入学号!";JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);}}}}5.学生对象1).成员变量主要成员变量2). 方法3).代码Student.javapublic class Student implements java.io.Serializable{String number,name,discipling,grade,borth,sex;public Student(){}public void setNumber(String number){this.number=number;}public String getNumber(){return number;}public void setName(String name){=name;}public String getName(){return name;}public void setDiscipling(String discipling) {this.discipling=discipling;}public String getDisciping(){return discipling;}public void setGrade(String grade){this.grade=grade;}public String getGrade(){return grade;}public void setBorth(String borth){this.borth=borth;}public String getBorth(){return borth;}public void setSex(String sex){this.sex=sex;}public String getSex(){return sex;}}四:测试结果及问题分析本程序为一简单的班级管理系统,功能比较单一,但是基本功能还是实现了,能够对学生基本资料的录入,修改,删除以及查询。
