JAVA课程设计学籍管理系统
JAVA课程设计---学籍管理系统

帮助文档模块:实现系统使用说明和帮 助文档的查看和下载
功能测试:验证系统功能是否 满足需求
性能测试:评估系统在不同负 载下的性能表现
安全测试:检查系统是否存在 安全漏洞
用户体验测试:评估系统的易 用性和用户满意度
Part Six
部 署 工 具 : To m c a t 、 J e t t y 、 WebLogic等应用服务器
生成绩
学籍管理模块: 添加、修改、 删除、查询学
籍信息
系统管理模块: 用户管理、权 限管理、系统
设置等
Part Five
数据库类型:MySQL 数据库设计:学生表、课程表、成绩表等 数据库操作:增删改查等基本操作 数据库优化:索引、缓存等优化措施
登录界面:用 户输入用户名 和密码进行登
录
主界面:显示 学生信息、课 程信息、成绩
数据完整性和一致性:通过主键和 外键保证数据的完整性和一致性
界面布局:简洁明了,易 于操作
色彩搭配:协调统一,易 于阅读
功能模块:清晰划分,易 于查找
交互方式:直观便捷,易 于使用
学生信息管理 模块:添加、 修改、删除、 查询学生信息
课程信息管理 模块:添加、 修改、删除、 查询课程信息
成绩管理模块: 添加、修改、 删除、查询学
学籍管理:学籍注册、学籍 变更、学籍注销
系统管理:用户管理、权限 管理、日志管理
性能需求:系统 响应时间、处理 速度等
可靠性需求:系 统稳定性、数据 安全性等
可用性需求:用 户界面友好、操 作简便等
可维护性需求: 系统易于维护、 升级等
Part Four
架构设计原则: 高内聚、低耦 合、可扩展、
java学籍管理系统课程设计

java学籍管理系统 课程设计一、课程目标知识目标:1. 掌握Java语言基础,包括数据类型、控制结构、类与对象等;2. 学会使用Java进行数据库连接和SQL语句操作,实现对学籍信息的增、删、改、查功能;3. 了解学籍管理系统的一般需求分析、功能设计及系统架构。
技能目标:1. 能够运用面向对象思想进行Java程序设计,编写出结构清晰、可维护性强的代码;2. 独立完成学籍管理系统的功能模块编写,具备一定的项目实践能力;3. 掌握使用Java开发工具(如Eclipse)进行代码编写、调试和运行。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发学习积极性,树立正确的学习态度;2. 培养学生的团队协作精神,提高沟通与协作能力;3. 增强学生的信息安全意识,认识到学籍信息管理的重要性。
课程性质:本课程为实践性较强的学科课程,结合实际学籍管理需求,培养学生的编程能力和项目实践能力。
学生特点:学生已具备一定的Java语言基础,具有一定的逻辑思维能力和问题解决能力。
教学要求:注重理论与实践相结合,强调动手实践,引导学生主动探究,培养学生的创新精神和实践能力。
将课程目标分解为具体的学习成果,以便于教学设计和评估。
二、教学内容1. Java语言基础复习:变量、数据类型、运算符、控制结构(章节1-4);2. 面向对象编程:类与对象、继承、多态、接口(章节5-8);3. 数据库连接技术:JDBC简介、数据库连接、SQL语句操作(章节9);- MySQL数据库安装与配置;- JDBC API的使用;- 常用SQL语句编写与执行;4. 学籍管理系统功能模块设计:- 需求分析;- 功能模块划分;- 数据库表设计(学生信息表、班级信息表等);5. 编程实践:- 学生信息管理模块(添加、修改、删除、查询);- 班级信息管理模块(添加、修改、删除、查询);- 用户登录与权限控制模块;6. 项目测试与优化:单元测试、集成测试、性能优化(章节10);7. 课程总结与项目答辩:- 代码规范与编程习惯;- 项目展示与答辩;- 同学互评与反馈。
Java课程设计——学生学籍管理系统

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊目录一、设计目的 (2)二、功能介绍 (2)三、程序流程 (3)四、设计步骤 (4)五、设计总结 (11)六、程序清单 (11)七、参考文献 (17)┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊一、设计目的《java课程设计》是计算机相关专业的必修专业基础课程,其实践性,应用性很强。
实践教学环节是必不可少的一个重要环节。
本课程的程序设计专题实际是计算机相关专业学生学习《java程序设计》课程后,进行的一次全面的综合训练,java程序设计的目的是加深对理论教学内容的理解和掌握,是学生较系统的掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。
二、功能介绍1、管理员登陆功能。
2、注册管理员功能。
3、按照学生学号搜索学籍信息功能。
4、显示所有学生学籍信息功能。
5、添加新的学生学籍信息功能。
6、删除指定学生学籍功能。
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊三、程序流程四、设计步骤1、运行程序,通过LoginFrame类的构造方法LoginFrame()调用init()来初始化,生成界面,如果4-1所示,输入用户名、密码,如果用户名密┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊码正确,显示提示登录成功,如图4-2所示图4-1 登录界面图4-2 登录成功核心代码://验证用户public boolean check(String u,String p){boolean b=false;try{ConnDB cd=new ConnDB();conn=cd.getConn();ps=(PreparedStatement) conn.prepareStatement("select userpwd from users where username='"+u+"'");res=ps.executeQuery();if(res.next()){┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊String dbpwd=res.getString(1);if(dbpwd.equals(p)){b=true;}}}catch(Exception e){e.printStackTrace();}finally{this.close();}return b;}2、登录成功后,进入管理界面,如图4-3所示,然后按照提示,输入要查找的学籍的学生学号,点击搜索按钮,响应搜索按钮的事件处理,调用actionPerformed(ActionEvent e)实现事件监听,然后在这个方法中调用DBOperate类,创建一个DBOperate类对象,调用DBOperate类的getAXueJiInfo(String tnum)方法,参数为学号,然后显示出所查找学生的学籍信息,如图4-4所示:图4-3 学生学籍管理系统主界面┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊图4-4 学生学籍管理系统主界面下的搜索界面核心代码://按学号查找学籍信息public xuejiBean getAXueJiInfo(String tnum){xuejiBean xjb=new xuejiBean();if(tnum.equals("")){return null;}int num=Integer.parseInt(tnum);try {ConnDB cd=new ConnDB();conn=cd.getConn();ps=(PreparedStatement) conn.prepareStatement("SELECT * FROM xueji WHERE num="+num+"");res=ps.executeQuery();while(res.next()){x jb.setNum(res.getInt(1));x jb.setSname(res.getString(2));x jb.setSex(res.getString(3));x jb.setMinzu(res.getString(4));x jb.setAge(res.getInt(5));x jb.setSdepart(res.getString(6));x jb.setStudytime(res.getString(7));x jb.setPface(res.getString(8));x jb.setAddress(res.getString(9));}} catch (Exception e) {e.printStackTrace();} finally{this.close();┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊}return xjb;}3、在管理界面的主界面中,点击搜索所有学籍信息,响应StuInfoFrame类中的actionPerformed(ActionEvent e)事件处理,然后在此方法中调用DBOperate类的ShowXueJiInfo()方法,然后在这个方法中查找数据库,将数据库返回的数据显示在JFrame中JTable内,显示结果如图4-5所示:图4-5 显示所有学生学籍信息的界面核心代码://显示所有学籍信息public ArrayList<xuejiBean> ShowXueJiInfo(){ArrayList<xuejiBean> al=new ArrayList<xuejiBean>();try {ConnDB cd=new ConnDB();conn=cd.getConn();ps=(PreparedStatement) conn.prepareStatement("SELECT * FROM xueji"); res=ps.executeQuery();while(res.next()){x uejiBean xjb=new xuejiBean();x jb.setNum(res.getInt(1));x jb.setSname(res.getString(2));x jb.setSex(res.getString(3));x jb.setMinzu(res.getString(4));x jb.setAge(res.getInt(5));x jb.setSdepart(res.getString(6));x jb.setStudytime(res.getString(7));x jb.setPface(res.getString(8));x jb.setAddress(res.getString(9));a l.add(xjb);}┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊} catch (Exception e) {e.printStackTrace();// TODO: handle exception} finally{this.close();}return al;}4、添加新的学生学籍信息,点击添加新学籍按钮响应StuInfoFrame类中的actionPerformed(ActionEvent e)事件处理,然后在此方法中,创建DBOperate类的实例,通过DBOperate类的实例调用putInforIntoDb(String name,String sex,String minzu,int age,Stringdepart,String time,String face,String address)方法将新学籍信息录入数据库中,效果如图4-6所示:图4-6 添加学生学籍界面核心代码://录入学籍信息public boolean putInforIntoDb(String name,String sex,String minzu,int age,String depart,String time,String face,String address){boolean b=false;try {ConnDB cd=new ConnDB();conn=cd.getConn();┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊ps=(PreparedStatement) conn.prepareStatement("INSERT INTO xueji (sname,sex,minzu,age,sdepart,studytime,pface,address) VALUES (?,?,?,?,?,?,?,?)");ps.setString(1, name);ps.setString(2, sex );ps.setString(3, minzu);ps.setInt(4, age);ps.setString(5, depart);ps.setString(6, time);ps.setString(7, face);ps.setString(8, address);int cont=ps.executeUpdate();if(cont==1){b=true;}} catch (Exception e) {e.printStackTrace();// TODO: handle exception} finally{this.close();}return b;}5、在2中,搜索出某个学生的学籍信息后,可以点击“删除该学籍信息”按钮,然后该按钮响应tuInfoFrame类中的actionPerformed(ActionEvente)事件处理通过在此方法中创建DBOperate类的实例来调用DBOperate类中的Deleteuser(String id)方法来删除该学籍信息。
Java课程设计---学生学籍管理系统

设计报告课题名称:学生学籍管理系统学院:专业班级:计算机应用技术091 学号:学生:指导教师:2011年7月7日学生指导教师课题名称学生学籍管理系统设计时间2011.6.27-2011.7.8设计地点图书馆506设计目的(1)加深对运用JA V A编程的方法、原理及过程(2)熟练对流程图的绘制(3)增强上机调试程序,善于发现问题并解决问题(4)学习用文档书写程序设计说明(5)让同学们初步了解对小程序的开发过程一.需求分析学生信息的管理是学校日常工作中的重要组成部分。
高校招生规模的逐步扩大和认识制度的改革,在校学生人数将不断增加,而学生管理人员则相对减少。
加上我国高等学校基层学生管理工作的头绪多,内容杂,管理细,要求高,传统管理办法已基本不适应新形势的要求。
在校生的基本信息的管理,选课及成绩的信息的管理,学生学籍的管理,稍有不慎就会出现错误。
当前学校对学生信息的管理不规范,不详细,而且管理信息费时费力浪费大量的人力物力。
不利于节省资源。
本程序就是为了快速便捷的存储,查找,修改,删除学生信息的。
二.设计目的(1)加深对运用JA V A编程的方法、原理及过程(2)熟练对流程图的绘制(3)增强上机调试程序,善于发现问题并解决问题(4)学习用文档书写程序设计说明(5)让同学们初步了解对小程序的开发过程三.函数作用及各类的关系1.StudentManager.java该类负责创建学生信息管理系统的主窗口,该类还有main方法,程序从该类开始执行。
2.Inquest.java该类创建的对象是StudentManager类的重要成员之一,负责提供录入学生基本信息的界面。
3.ModifySituation.java该类创建的对象是StudentManager类的重要成员之一,负责提供修改学生基本信息的界面。
4.Delete.java该类创建的对象是StudentManager类的重要成员之一,负责提供删除学生基本信息的界面。
学生学籍管理系统java课程设计

学生学籍管理系统Java课程设计一、介绍学生学籍管理系统是一套用于学校管理学生信息的软件系统。
本系统旨在通过Java编程,实现学生信息的录入、管理、修改和查询等功能。
在课程设计中,我们将使用Java语言和相关技术,如面向对象的编程思想、GUI设计等,来完成这一学生学籍管理系统的设计与实现。
二、功能需求1.学生信息录入:包括学生的学号、姓名、性别、年龄等基本信息的录入;2.学生信息查询:根据学生学号或姓名等信息进行查询,并将查询结果显示在界面上;3.学生信息修改:可以修改学生的基本信息,如姓名、性别、年龄等;4.界面友好:设计简洁、美观的用户界面,提高用户体验。
三、设计思路1.数据结构设计:使用类和对象来表示学生信息,构建学生类(Student类),包含学号、姓名、性别、年龄等属性;2.界面设计:使用Java Swing库来构建用户界面,包括菜单栏、文本框、按钮等组件;3.功能模块设计:将学生信息录入、查询、修改等功能封装成不同的方法,并在主程序中调用;4.异常处理:在程序中添加异常处理机制,以应对用户错误输入等异常情况。
四、具体实现步骤1.创建学生类:定义一个Student类,包含学号、姓名、性别、年龄等属性,并编写构造方法和getter、setter方法;2.设计主界面:使用Swing库创建主界面,包括菜单栏和各个功能按钮;3.实现学生信息录入功能:在录入界面添加文本框和确认按钮,将输入的信息保存到学生类实例中;4.实现学生信息查询功能:在查询界面设计查询条件输入框和查询按钮,根据条件查询学生信息并在界面展示;5.实现学生信息修改功能:在修改界面允许用户选择要修改的学生信息,并提供文本框供用户修改;6.异常处理:在程序中添加必要的异常处理代码,如输入非法字符、查询结果为空等情况。
五、总结通过本次课程设计,我们深入学习了Java编程语言,掌握了面向对象的程序设计思想,提高了对GUI界面设计的理解。
JAVA课程设计_ _ _ 学籍管理系统方案

JAVA课程设计题目:JAVA学籍管理系统姓名:学号:班级:日期:目录一、设计思路 (3)二、具体实现 (3)三、运行调试与分析讨论 (5)四、设计体会与小结 (13)五、参考文献 (14)六、附录 (14)一、设计思路随着社会经济的发展,入学的同学越来越多,为方便对同学学籍信息的的管理,设计学籍管理软家来管理本班级同学的学籍信息。
该软件应支持添加、删除、修改、查询功能。
并且查询功能分为两种情况显示查询的结果:查询方式主要是支持学号查询,例如:输入“111”,则显示该学生的信息。
运用流式、卡片、整体布局方式对系统的主界面和各功能界面进行设计;通过连接数据库的方式来实现对数据的存储;各功能实现时访问数据库,并对数据信息进行读取,运用Java语句对其进行输出,学号查询时显示在文本框中;管理员登录、管理员添加信息,系统提示功能用来提醒用户的错误操作和输入时的错误信息,提醒用户进行改正二、具体实现该系统中的信息存储在数据库中,并实现以下各功能:管理员登录:管理员帐号admin,密码:12345,进行增删查改。
添加功能:添加数据信息,当有新同学进入是可以添加该同学的信息。
通过文本框读入添加信息,连接数据库后储存数据。
精确查询:输入要查询同学的学号,显示出该同学的信息。
通过文本框读入要查找的信息,用SQL语句在数据库中进行查找。
删除功能:该功能和精确查询功能在同一功能模块中实现,有于删除同学信息并更新数据库信息。
修改功能:当同学的信息改变时,用此功能更新同学信息。
通过对数据库信息的更新保存最新信息。
每种功能通过一个类来实现:类分分为主类、精确查询类、修改类、添加类、增加类。
主类(Info_manager )实现系统主界面以及和各功能界面的连接;精确查询类(SearchStudent)实现对数据库中数据的精确查询;修改类(MdifyStudent)实现对数据的修改更新;添加类(AddStudent)向数据库中添加新数据;删除类(DeleteStudent)实现对数据的删除。
学籍管理系统java程序设计

学籍管理系统Java程序设计简介学籍管理系统是一种用于学校或教育机构管理学生学籍的软件系统。
这个系统将学生的个人信息、学习成绩、考勤记录等进行整合和管理,使得学校和教师能够更加高效地管理学生的信息。
功能需求学籍管理系统需要具备以下功能需求:1.学生信息管理–新增学生信息–修改学生信息–删除学生信息–查询学生信息2.学生成绩管理–新增学生成绩–修改学生成绩–删除学生成绩–查询学生成绩3.考勤记录管理–添加考勤记录–修改考勤记录–删除考勤记录–查询考勤记录4.统计功能–统计学生人数–统计不及格学生人数–统计缺勤次数系统设计数据库设计学籍管理系统的数据库设计是系统设计的重要部分。
数据库中需要包含学生、成绩和考勤记录的相关数据表。
学生表(Student)字段名类型描述学生ID int 学生唯一标识姓名varchar 学生姓名年龄int 学生年龄性别varchar 学生性别班级varchar 学生所在班级入学日期date 学生入学日期成绩表(Score)字段名类型描述成绩ID int 成绩唯一标识学生ID int 学生ID课程varchar 课程名称分数int 学生分数考勤记录表(Attendance)字段名类型描述考勤记录ID int 考勤记录唯一标识学生ID int 学生ID日期date 考勤日期是否缺勤boolean 是否缺勤系统架构学籍管理系统采用三层架构,将系统按照功能拆分成三个层次:表现层、业务逻辑层和数据访问层。
表现层表现层负责用户与系统的交互,包括系统的登录、菜单显示、输入输出等功能。
业务逻辑层业务逻辑层实现系统的具体功能,包括学生信息管理、成绩管理、考勤记录管理和统计功能等。
数据访问层数据访问层负责与数据库进行交互,包括对学生、成绩和考勤记录的增删改查等操作。
系统流程学籍管理系统的运行流程如下:1.用户登录系统,系统进行身份验证。
2.登录成功后,系统显示主菜单,用户可以选择需要进行的操作。
学生信息管理系统课程设计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的使用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计任务书题目:学籍管理系统组员学号组员学号组员学号专业课程JAVA指导教师完成时间:2011年9月——2011年12月计算机科学系制课程设计任务书及成绩评定本学籍管理系统共有6个java源文件。
类之间的主要关系如图所示。
该java文件的类负责创建学籍管理系统主窗口。
该类含有main方法,程序从该类开始执行。
该文件的类负责创建学籍管理系统的学生信息录入界面。
该文件的类负责创建学籍管理系统的学生信息修改界面。
该文件的类负责创建学籍管理系统的学生信息查询界面。
该文件的类负责创建学籍管理系统的学生信息删除界面。
负责创建存放学生信息的对象。
1.具体设计1.1主类StudentManager1.成员变量(见下表)主要成员变量(属性)成员变量描述变量类型名称基本信息录入界面StudentSituation 基本信息录入基本信息修改界面ModifySituation 基本信息修改基本信息查询界面Inquest 基本信息查询基本信息删除界面Delete 基本信息删除菜单选项JmenuItem 录入,修改,查询,删除存放基本信息的散列表Hashtable 基本信息存放散列表的文件File file2.方法(见下表)主要方法名称功能备注StudentManager 创建程序主窗口构造方法actionPerformed 处理ActionEvent事件接口方法main 程序开始运行3.代码import .*;import .*;import .*;public class StudentManager extends JFrame implements ActionListener {StudentSituation 基本信息录入=null; ddActionListener(this);修改.addActionListener(this);查询.addActionListener(this);删除.addActionListener(this);card=new CardLayout();con=getContentPane();pCenter=new JPanel();(card);file=new File("基本信息.txt");if(!()){try{FileOutputStream out=new FileOutputStream(file);ObjectOutputStream objectOut=new ObjectOutputStream(out);(基本信息);();();}catch(IOException e){}}基本信息录入=new StudentSituation(file);基本信息修改=new ModifySituation(file);基本信息查询=new Inquest(this,file);基本信息删除=new Delete(file);("欢迎语界面",label);("录入界面",基本信息录入);("修改界面",基本信息修改);("删除界面",基本信息删除);(pCenter,;();addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){(0);}});setVisible(true);setBounds(100,50,420,380);validate();}public void actionPerformed(ActionEvent e){if()==录入){(pCenter,"录入界面");}else if()==修改){(pCenter,"修改界面");}else if()==查询){ etVisible(true);}else if()==删除){(pCenter,"删除界面");}}public static void main(String args[]){new StudentManager();}}1.2录入界面StudentSituation1.成员变量(见下表)主要成员变量(属性)描述变量类型名称存放“学生”对象的散列表Hashtable 基本信息表输入学生基本信息的文本条JtextField 学号,姓名,专业,年级,出生存放学生信息的对象Student 学生2.方法(见下表)主要方法名称功能备注StudentSituation 创建学生录入界面构造方法actionPerformed 处理ActionEvent事件接口方法3.代码import .*;import .*;import .*;import .*;public class StudentSituation extends JPanel implements ActionListener{Hashtable 基本信息表=null; ddActionListener(this);重置.addActionListener(this);Box box1=(); Box box2Box box3Box box4Box box5Box box6etText();if()>0)ontainsKey(number))WARNING_MESSAGE);}else etText();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,学生);(基本信息表);();();学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);}catch(Exception ee){}}}}else{ WARNING_MESSAGE);}}if()==重置){学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);}}}1.3查询界面Inquest1.成员变量(见下表)主要成员变量(属性)描述变量类型名称存放“学生”对象的散列表Hashtable year显示学生基本信息的文本条JTextField 学号,姓名,专业,年级,出生2.方法(见下表)主要方法名称功能备注Inquest 创建查询界面构造方法actionPerformed 处理ActionEvent事件接口方法3.代码import .*;import .*;import .*;import .*;public class Inquest extends JDialog implements ActionListener{Hashtable 基本信息表=null; ddActionListener(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();(男);(女);Box box1Box box2Box box3Box box4Box box5Box box6etText(null);专业.setText(null);年级.setText(null);出生.setText(null);if()==查询||()==学号){String number="";number=学号.getText();if()>0){try {inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);基本信息表=(Hashtable)();ontainsKey(number)) et(number);姓名.setText());专业.setText());年级.setText());出生.setText());if().equals("男")){男.setSelected(true);}else{女.setSelected(true);}}else{ WARNING_MESSAGE);}}}}1.4修改界面ModifySituation1.成员变量(见下表)主要成员变量(属性)描述变量类型名称存放“学生”对象的散列表Hashtable 基本信息表输入学生基本信息的文本条JTextField 学号,姓名,专业,年级,出生2.方法(见下表)主要方法名称功能备注ModifySituation 创建学生信息修改界面构造方法actionPerformed 处理ActionEvent事件接口方法import .*;import .*;import .*;import .*;public class ModifySituation extends JPanel implements ActionListener{Hashtable 基本信息表=null; etEnabled(false);重置=new JButton("重置");学号.addActionListener(this);开始修改.addActionListener(this);录入修改.addActionListener(this);重置.addActionListener(this);Box box1=(); Box box2Box box3Box box4Box box5Box box6etText();if()>0){try {inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);基本信息表=(Hashtable)();();();}catch(Exception ee){}if(基本信息表.containsKey(number)) etEnabled(true);Student stu=(Student)基本信息表.get(number);姓名.setText());专业.setText());年级.setText());出生.setText());if().equals("男")){男.setSelected(true);}else{女.setSelected(true);}}else etEnabled(false);String warning="该学号不存在!";(this,warning,"警告",;学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);}}else etEnabled(false);String warning="必须要输入学号!";(this,warning,"警告",;学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);}}else if()==录入修改){String number="";number=学号.getText();if()>0){try {inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);基本信息表=(Hashtable)();ontainsKey(number)) etText();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 ut(number,学生);(基本信息表);();();学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);}catch(Exception ee){}录入修改.setEnabled(false);}else if(ok=={录入修改.setEnabled(true);}}else{etEnabled(false);}}else{etEnabled(false);}}if()==重置){学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);}}}1.5删除界面Delete1.成员变量(见下表)主要成员变量(属性)描述变量类型名称存放“学生”对象的散列表Hashtable 基本信息表显示学生基本信息的文本条JTextField 学号,姓名,专业,年级,出生2.方法(见下表)主要方法名称功能备注Delete 创建学生信息删除界面构造方法actionPerformed 处理ActionEvent事件接口方法import .*;import .*;import .*;import .*;public class Delete extends JPanel implements ActionListener{Hashtable 基本信息表=null; ddActionListener(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();(男);(女);Box box1=(); Box box2Box box3Box box4Box box5Box box6etText();if()>0){try {inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);基本信息表=(Hashtable)();ontainsKey(number)) et(number);姓名.setText());专业.setText());年级.setText());出生.setText());if().equals("男")){男.setSelected(true);}else{女.setSelected(true);}String m="确定要删除该学号及全部信息吗?";emove(number);try{outOne=new FileOutputStream(file);outTwo=new ObjectOutputStream(outOne);(基本信息表);();();学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);}catch(Exception ee){}}else if(ok=={学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);}}else{ //如果不存在该生的基本信息,弹出警告对话框String warning="该学号不存在!";(this,warning,"警告",;}}else{ //如果学号输入框内容为空,弹出警告对话框String warning="必须要输入学号!";(this,warning,"警告",;}}}}1.6学生对象Student1.成员变量(见下表)主要成员变量(属性)描述变量类型名称学号String number 姓名String name专业String discipling 年级String grade出生String borth性别String sex 2.方法(见下表)主要方法名称功能备注setNumber 设置学号getNumber 获取学号setName 设置姓名getName 获取姓名setDiscipling 设置专业getDiscipling 获取专业setGrade 设置年级getGrade 获取年级setBorth 设置出生getBorth 获取出生setSex 设置性别getSex 获取性别3.代码{String number,name,discipling,grade,borth,sex;public Student(){}public void setNumber(String number){=number;}public String getNumber(){return number;}public void setName(String name){=name;}public String getName(){return name;}public void setDiscipling(String discipling){=discipling;}public String getDisciping(){return discipling;}public void setGrade(String grade){=grade;}public String getGrade(){return grade;}public void setBorth(String borth){=borth;}public String getBorth(){return borth;}public void setSex(String sex){=sex;}public String getSex(){return sex;}}4.7运行效果系统主窗口学生信息录入界面学生信息查询界面学生信息修改界面学生信息删除界面实验总结:通过本次试验,基本应用了自己所学过的所有知识,经过不断的努力修改终于完成了这个程序,不仅加强了自己的相关知识,更进一步认识到自己的不足。