学生的学籍信息是记录学生的重要信息档案,如何以电子文档形式记录下学生的学籍信息是每个学校必须做的事情,该学生学籍信息管理系统就是为了方便学校记录下每一个学生的基本信息,生成电子数据库,并且能够做到查询、更改、删除、浏览等功能操作,让学籍信息的管理更加方便快捷。
学籍信息管理系统是集学籍信息录入,学籍信息查询,学籍信息更改,学籍信息删除,学籍信息浏览这些功能模块于一体的信息管理系统。首先,需要管理员登陆到该系统,当用户名和密码均正确时方可进入系统。图2-1给出了学籍信息管理系统的系统结构图。
图2-1系统结构图
学籍信息录入
学籍信息查询
该模块可以使用学号查询到以保存数据中某一个学生的信息。
学籍信息更改
学籍信息删除
该模块可以删除某一位学生的全部信息。
学籍信息浏览
该模块可以浏览全部学生的信息。
其中,学籍更改和浏览模块将另外生成两个新窗口,其他模块均在原有窗口上操作进行。
学生类(Student)记录了学生的基本信息,该类的设计由图2-2所示,类的介绍如表2-1所示。
图2-2学生的基本信息
表2-1学生(Student.java)类的介绍
变量名称
类型
描述
number
String
学号
name
姓名
sex
性别
discipling
专业
grade
年级
borth
Java通过5个关键字来控制异常处理,通常在出现错误时用try来执行代码,系统引发(throws)一个异常后,可以根据异常的类型由catch来捕获,或者用finally调用缺省异常处理。
try{inOne=newFileInputStream(file);inTwo=newObjectInputStream(inOne);StudentDB=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();}catch(Exceptionee){}2、对象序列化在Java.io包中,提供了ObjectInputStream和ObjectOutputStream,将数据流功能扩展至可读写对象。在ObjectInputStream中用readObject()方法可以直接读取一个对象,在ObjectOutputStream中用writeObject()方法可以直接将对象保存到输出流中。
HashtableStudentDB=null;StudentDB=(Hashtable)inTwo.readObject();Studentstu=(Student)StudentDB.get(number);四、软件实现1、代码组织本系统由8个Java类、2张图片文件组成,其中,src存放了8个Java类,res存放的是管理员登陆时的图片(login.jpg)和主框架的图片(home.jpg)。类之间的关系如图4-1所示。
图4-1该系统类关系图
各类的主要功能如表4-1所示。
表4-1类功能介绍表
序号
类名
功能描述
1
Student.java
创建并存放学生类的对象
2
StudentInput.java
新学籍信息的录入
3
StudentInquire.java
学籍信息的查询界面
4
StudentChange.java
学籍信息的更改
5
StudentDelete.java
学籍信息的删除
6
StudentLogin.java
管理员登陆窗口,包含main函数
7
StudentTable.java
浏览全部的学籍信息
8
StudentFrame.java
学籍信息管理系统的主框架
1.管理员登陆窗口(StudentLogin.java)如表4-2所示。
表4-2管理员登陆窗口类成员变量表
变量类型
login,reset
JButton
Username,password
JTextField
用户名、密码输入框
a,b
JLabel
提示语
word
图片显示
2.学籍管理系统主框架(StudentFrame.java)如表4-3所示。
表4-3学籍管理系统主框架类成员变量表
input
StudentInput
构建学籍录入界面
change
StudenChange
构建学籍信息更改界面
inquire
StudentInquire
构建学籍信息查询界面
delete
StudentDelete
构建学籍信息删除界面
table
StudentTable
构建学籍信息浏览界面
bar
JMenuBar
创建一个菜单栏
fileMenu,editMenu,helpMenu
JMenu
创建一级菜单
input_1,change_1,inquire_1,delete_1,about_1,exit_1,table_1
JMenuItem
创建录入,更改,查询,删除,浏览,关于,退出子菜单
StudentDB
Hashtable
存放学生信息的散列表
file
File
存放学生信息的散列表文件
3.学籍信息录入(StudentInput.java)如表4-4所示。
表4-4学籍信息录入类成员变量表
Snumber,Sname,Sspec,Sclass,Sborth
JTxetField
Sinput,Sreset
录入,重置按钮
Sman,Swomen
JRadioButton
男、女选项
inOne
FileInputStream
从文件读取数据
inTwo
ObjectInputStream
将数据流功能扩展到可读写数据
outOne
FileOutputStream
向文件写入数据
outTwo
ObjectOutputStream
4.学籍信息查询(StudentIquire.java)如表4-5所示。
表4-5学籍信息查询类成员变量表
Sinquiry
查询按钮
5.学籍信息更改(StudentChange.java)如表4-6所示。
表4-6学籍信息更改类成员变量表
Schange,Sreset,Sinquire
更改,查找,重置按钮
6.学籍信息删除(StudentDelete.java)如表4-7所示。
表4-7学籍信息删除类成员变量表
Sdelete,Sinquire
查找,删除按钮
7.学籍信息浏览(StudentTable.java)如表4-8所示。
表4-8学籍信息浏览类成员变量表
stutable
JTable
创建一个学生表格
Snumber,Sname,Sspec,Sclass,Sborth,Ssex
allinf,tablehead,line1
Vector
创建向量,将信息存入向量
jsp
JScrollPane
添加一个滚动条
学生类(Student.java)如表4-9所示。
表4-9学生类介绍表
名称
功能
setNumber
设置学号
setName
设置姓名
setSex
设置性别
setDisciping
设置专业
setGrade
设置班级
setBorth
getNumber
获得学号
getName
获得姓名
getSex
获得性别
getDisciping
获得专业
getGrade
获得班级
getBorth
其他类如表4-10所示。
表4-10其他类介绍表
备注
actionPerformed
处理ActionEvent监听事件
接口方式,内部函数
创建录入界面
构造函数
创建更改界面
创建查询界面
创建删除界面
创建表格界面
图5-1管理员登陆界面图5-2管理员登陆界面
图5-3系统主框架
图5-4菜单栏
图5-5录入界面
图5-6提示页面
图5-7更改界面
图5-8提示界面
图5-9查询界面
图5-10删除界面
图5-11提示界面
图5-12浏览界面
《Introductiontojavaprogramming》作者:Y.DanielLiang机械工业出版社《java程序设计经典课堂》作者:金松河、王捷、黄永丽清华大学出版社