大学JAVA课程设计学生信息管理系统Word文档格式.docx
《大学JAVA课程设计学生信息管理系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《大学JAVA课程设计学生信息管理系统Word文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
计算机与通信学院
2013年06月
摘要
本系统主要完成对学生信息的管理,包括录入、添加、修改、删除、查询、打印信息等方面。
系统可以完成对各类系统浏览、查询、添加、删除、修改等功能。
系统的核心是添加、修改和删除三者之间的联系,每一个表的修改都将联动的修改其他的表,当完成添加删除操作时系统会自动地完成学生信息的修改。
设计一个简单学生个人信息管理系统,该系统具有录入,查询,修改三项基本功能。
要求如下:
(1)具有简单的录入,查询和修改功能。
(2)修改学生信息必须输入学号,然后对姓名、性别等修改;
(3)使用文件存储数据。
(也可用数据库)
一、课程设计的目的与意义
目的:
深入理解java语言的语法规则及其优势,掌握类与方法的构造方法,掌握基于java的各种操作的实现方法,训练对基础知识和基本方法的综合运用能力,增强对算法的理解能力,提高软件设计能力。
在实践中培养独立分析问题和解决问题的作风和能力。
意义:
熟练运用java语言、基本构造方法和算法的基础知识,独立编制一个具有中等难度的、解决实际应用问题的应用程序。
通过题意分析、选择类结构、算法设计、编制程序、调试程序、软件测试、结果分析、撰写课程设计报告等环节完成软件设计的全过程,不断地完善程序以提高程序的性能。
2、需求分析
该学生学籍管理系统的所有功能均在一个Frame窗体中实现。
学生学籍管理系统主界面模块:
采用Frame窗体来设置欢迎界面包括背景图片及字幕(可以设计成滚动字幕效果),左上方的菜单条设计成下拉式。
包括“录入学生基本信息”、“修改学生基本信息”、“删除学生基本信息”、“查询学生基本信息”和“退出系统”五项菜单项。
录入学生基本信息模块:
采用Panel面板来设置该部分内容信息并采用方位布局(边缘布局)和Box轻量级组件来设置“学号”、“姓名”、“性别”、“专业”、“年级”、“出生”,并在该面板中添加了“录入”和“重置”两个按钮进行监听,最后将该面板加入到Frame窗体中去。
修改学生基本信息模板:
采用Panel面板来设置该部分内容信息,同样是采用方位布局及Box组件来设置相关信息,并在学号旁设置了“开始修改”按钮。
在面板南部方位添加了“确定修改”和“重置”两按钮进行监听。
查询学生基本信息模板:
采用Panel面板来设置该部分内容信息,并将该面板加入到主窗体中去,采用边缘布局进行方位设置,在上方加入“查询”按钮进行监听。
删除学生基本信息模板:
也是采用Panel面板进行设置相关内容,并用边缘布局进行布局,并在上方添加“确定”按钮,在下方添加“确定删除”按钮实现监听。
定义四个Panel面板
1.定义Reg(录入学生基本信息)面板
采用BorderLayout(构造一个组件之间没有间距的新边界布)和Box轻量级组件进行布局,在面板的Nother方位添加一个“录入学生基本信息”的标签,并更改字体,颜色等。
接着用JTextField轻量级组件来设置单行文本编辑,并将其加入到用createHorizontalBox()方法创建具有一个从左到右显示其组件的Box和用createHorizontalStrut()创建一个不可见的、固定宽度的组件,使其在一个横向box中,通常使用此方法强行使两个组件之间具有某一空间量。
然后Box与Box之间用createVerticalBox()创建一个从上到下显示其组件的Box,并用createVerticalStrut()方法创建一个不可见的、固定高度的组件,使其在一个纵向box中,通常使用此方法强行使两个组件之间具有某一空间量。
然后在面板的South方位设置“录入”与“重置”两按钮。
最后实现与数据库的桥接,能够将从文本框获得的信息存储到数据库中去。
2.定义Search(查询学生基本信息)面板
该部分同样采用BorderLayout(构造一个组件之间没有间距的新边界布)和Box轻量级组件进行布局,在面板的Nother方位添加一个“查询学生基本信息”的标签,并更改字体,颜色等。
接着用JTextField轻量级组件来设置单行文本编辑,在学号这一文本框后再添加一个“查询”按钮。
并将其加入到用createHorizontalBox()方法创建具有一个从左到右显示其组件的Box和用createHorizontalStrut()创建一个不可见的、固定宽度的组件,使其在一个横向box中,通常使用此方法强行使两个组件之间具有某一空间量。
最后实现与数据库的桥接,能够将从数据库中获取信息并显示到文本框中去。
3.定义Modify(修改学生基本信息)面板
该部分同样也是采用BorderLayout(构造一个组件之间没有间距的新边界布)和Box轻量级组件进行布局,在面板的Nother方位添加一个“修改学生基本信息”的标签,并更改字体,颜色等。
并在“学号”该文本框后添加一个“开始修改”按钮用来监听。
最后实现与数据库的桥接,能够将从数据库中获取信息并显示到文本框中去,并将修改后的信息存储到数据库中去。
4.定义Delete(删除学生基本信息)面板
该部分还是采用BorderLayout(构造一个组件之间没有间距的新边界布)和Box轻量级组件进行布局,在面板的Nother方位添加一个“修改学生基本信息”的标签,并更改字体,颜色等。
接着用JTextField轻量级组件来设置单行文本编辑,在学号这一文本框后再添加一“确定”按钮实现监听。
并将其所有文本框和标签加入到用createHorizontalBox()方法创建具有一个从左到右显示其组件的Box和用createHorizontalStrut()创建一个不可见的、固定宽度的组件,使其在一个横向box中,通常使用此方法强行使两个组件之间具有某一空间量。
然后Box与Box之间用createVerticalBox()创建一个从上到下显示其组件的Box,并用createVerticalStrut()方法创建一个不可见的、固定高度的组件,使其在一个纵向box中,通常使用此方法强行使两个组件之间具有某一空间量,还在本面板的South方位添加“确定删除”按钮。
最后实现与数据库的桥接,能够将从数据库中获取信息并显示到文本框中去,删除后同时在数据库中也删除该信息并保存该操作。
1、学生信息管理系统的登录
学生信息管理系统可由管理员和学生两种身份的人使用。
管理员和学生身份登录所能操作的功能有很大的区别。
系统初始化一个系统管理员,登录名:
admin密码:
admin
学生登录系统的登录名为学号,密码也为学号(如:
10001),登录后可以修改密码。
登录界面
登录系统后的界面
注册学生信息界面
修改学生信息界面
查询学生信息界面
删除学生信息界面
1程序类的设计
DeleteListener.java:
删除监听
JTMouseListener.java:
树状视图
LoginListener.java:
登陆监听
ResetListener.java:
重置监听
SaveListener.java:
保存监听
SearchAllListener.java:
搜索所有学生信息
SearchDListener.java:
搜索一个学生信息
SearchListener.java:
SearchRListener.java:
SubmitListener.java:
提交信息监听
2系统的使用说明及环境配置
学生信息管理系统提供了管理员和学生这两个角色登录系统,管理员通过用户名:
admin登录系统后可以进行相应的操作。
学生通过以自己的学号(如10001)作为用户名和密码登录系统后进行相应的学生权限范围内的操作。
数据库:
Mysql
连接数据库的登录名:
root密码:
zfz
代码:
DeleteListener.java:
packagemanager.ui.listener;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.JButton;
importjavax.swing.JOptionPane;
importmanager.dao.JdbcIcpCURD;
importmanager.ui.conponent.DeletePanel;
publicclassDeleteListenerimplementsActionListener{
publicvoidactionPerformed(ActionEvente){
JButtonjb=(JButton)e.getSource();
DeletePaneldp=(DeletePanel)jb.getParent();
Stringxuehao=dp.xuehaoFd.getText();
Stringmsg="
?
"
+xuehao+"
;
inti=JOptionPane.showConfirmDialog(dp,msg,"
JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE);
if(i==0){
JdbcIcpCURDcurd=newJdbcIcpCURD();
booleanb=curd.deleteByXuehao(Integer.parseInt(xuehao));
if(b){
dp.errorLb.setText("
);
}
else{
}
return;
}
}
JTMouseListener.java:
importjava.awt.CardLayout;
importjava.awt.Component;
importjava.awt.event.MouseEvent;