学生成绩管理系统Java版设计与实现
很老的文章,记录下
简单学生成绩管理系统Java版(GUI+Microsoft Access数据库) - ssy - 那片天
计算机已经深入到日常工作和生活的方方面面, 成为我们学习和工作的得力助手,比如文字处理、信息管理、辅助设计、图形图像处理、教育培训以及游戏娱乐等。 随着越来越多的应用软件出现, 人们对它的要求也越来越高; 虽然现在世界上的各种软件层出不穷, 但它们依然不能满足用户的各种特殊需要, 所以人们仍是不得不开发适合特殊需求的软件。 学生成绩管理系统记录了一个大学生成绩的系统,它的出现使得查询、更新、插入简单化,高效化,成本也随之大大减少。 使用计算机对成绩信息的管理,具有手工管理所无法比拟的优点:信息存储及时, 检索迅速、 查找方便、 可靠性高、 存储量大、 保密性好、 寿命长、 成本低等。这些优点能够极大地提高学生成绩管理的效率,也是高校成绩正规化管理的重要途径。
本系统运用JAVA设计和实现一个简易的学生成绩管理系统,以提高学生信息、课程、成绩管理的自动化、友好性等。系统最大的利用的JAVA的可移植性大大的减少不同系统的兼容状况,从而可以在Windows,MacOS,UNIX等平台上运行,而且如果需要修改及添加功能,只要做较少的修改,甚至有时候根本不需要修改。不仅拥有较好的性能而且具有较高的安全性。
本系统基于JAVA SE平台和ACCESS数据库,对JAVA开发管理信息系统有一个全面的了解。
ACCESS数据库更是操作简单更方便,但是不足的是兼容性不是很好,以及存储的数据太小等问题。
本软件均以中文形式表示,对普通程序使用者的查询提供简单方便的快捷操作,技术含量较低。
运行环境:
硬件环境:计算机一台
软件环境:
A.windows 系列等
B.Microsoft Access
C.Eclipse
D.Java
①学生信息管理:
学生信息管理模块:设置学生基本信息,并可以对学生信息进行添加、修改、删除。
②课程信息管理:
课程信息管理:设置课程号,课程名,任课教师等课程信息,并可以对课程信息进行添加、修改、删除。
③学生成绩管理“
成绩信息管理模块:设置成绩信息,并可以对成绩信息进行添加、修改、删除。还可以用关键字查询并调出数据库里的学生基本成绩信息的修改、删除等。输出查询的学生成绩信息,并对学生成绩总分,平均分等进行统计。
简单学生成绩管理系统Java版(GUI+Microsoft Access数据库) - ssy - 那片天
系统功能代码设计与分析及截图
【学生成绩管理系统】主界面部分代码设计分析:
在Student主类中可以先设置系统标题及标题图标,以及让系统框架在屏幕中央处显示。
public class Student {
public static void main(String[] args) {
StuMenu win=new StuMenu();
win.setTitle("学生成绩管理系统-Ver1.0-苏三元");
Toolkit tool = Toolkit.getDefaultToolkit(); // 定义工具包
Dimension screenSize = tool.getScreenSize(); // 获取屏幕的尺寸
int screenWidth = screenSize.width / 2; // 获取屏幕的宽
int screenHeight = screenSize.height / 2; // 获取屏幕的高
int height = win.getHeight();
int width = win.getWidth();
win.setLocation(screenWidth - width/2, screenHeight - height/2);//设置窗口在屏幕居中显示
Image img1=tool.getImage(Student.class.getResource("/images/1.png")); // 自定义标题图标
win.setIconImage(img1);
}
}
增加面板并在面板上添加背景图,而且把系统框架大小设置为背景图大小一致,在背景图上添加个“欢迎进入学生成绩管理系统”文字用label方式添加。
jpl = new JPanel();//增加面板空容器
jpl.setLayout(null);
label1=new JLabel();
icon=newImageIcon(Student.class.getResource("/images/a.png"));
label1.setIcon(icon); //设置面板的背景图
label1.setBounds(0, 0, icon.getIconWidth(), icon.getIconHeight());
setSize(label1.getWidth(),label1.getHeight()+60);
//增加文字标签
label2=new JLabel("欢迎进入学生成绩管理系统",JLabel.CENTER);
label2.setFont(new Font("华文彩云",Font.ITALIC+Font.BOLD,46));
label2.setForeground(Color.blue);
label2.setBounds(50, 150, 600, 50);
最后分别添加面板及背景图及文字,注意背景图与文字标签不能颠倒位置否则文字无法显示!
add(jpl);
jpl.add(label2);
jpl.add(label1);
运行截图如下可以看出标题与标题图标与上符合。
背景图显示正常,文字标签也成功显示。
菜单项:
菜单项的建立与设计可以简单设计,并添加菜单图标以增加软件美观。
具体代码比较简单可以参考后面的全部源代码。
简单学生成绩管理系统Java版(GUI+Microsoft Access数据库) - ssy - 那片天
【帮助】子菜单项:
帮助子菜单属于系统菜单项,此为使使用者可以得知系统运行所需环境等问题
代码是依靠消息对话框showMessageDialog方式实现还可以添加图标更简单方便美观。
ImageIcon img1=new ImageIcon(Student.class.getResource("/images/1.png"));
if(str== mHelp){ //帮助
JOptionPane.showMessageDialog(null,"此管理系统为java版,可以跨任意平台运行。\n"+"如不能运行,请下载安装官方最新java再试。\n"+"Java下载地址:http://www.java.com\n"+"如有问题或仍不能运行请联系我,谢谢。","帮助信息",JOptionPane.INFORMATION_MESSAGE,img1);
关于子菜单实现与帮助子菜单方式一样。运行效果如图:
简单学生成绩管理系统Java版(GUI+Microsoft Access数据库) - ssy - 那片天
【关于】子菜单项
【退出】子菜单项:
在退出菜单项以提示方式可以让用户避免误操作,实现方式与上面帮助关于菜单方式一样
而如果是点击右上角的退出仍然是提示用户,只需简单的在相应位置添加退出的类即可
addWindowListener(new WindowClose());//类详细见下面全部代码
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);//设置关闭时什么不做,是否退出依靠上面的WindowClose类
运行图:
简单学生成绩管理系统Java版(GUI+Microsoft Access数据库) - ssy - 那片天
【学生管理】菜单项:
学生管理菜单项添加与系统菜单项方式一样,后面其他的也是,就不再累赘。效果如图:
简单学生成绩管理系统Java版(GUI+Microsoft Access数据库) - ssy - 那片天
【增加学生信息】子菜单项:
大体可以分成几部分:
-
标题,背景图,标题图标
代码实现方式与主框架一样,只需更改相应的字与背景图,图标即可。
-
左边的输入实现依靠标签与文本框方式实现,标签代码如下: addBasicInfor =new JLabel("添加学生基本信息", JLabel.CENTER); stuIDLab = new JLabel("学 号:", JLabel.CENTER); stuNameLab =new JLabel("姓 名:", JLabel.CENTER); stuSexLab =new JLabel("性 别:", JLabel.CENTER); stuAgeLab =new JLabel("年 龄:", JLabel.CENTER); stuClassIDLab =new JLabel("班 级:",JLabel.CENTER);
stuCouLab =new JLabel(“专 业:”, JLabel.CENTER);
-
右边是注意事项提示,可以让使用者更好的使用减少不必要的错误,实现方式只需添加文本区域即可。
注意要把文本设置不可编辑否则,用户可能误操作。如: setEditable(false);
-
按钮,可以调用监听器即可,在相应的监听器实现相应的程序,比如点击添加时会检查相应文本框是否为空,如果为空则返回提示对话框。如果没有错误则把数据加入到数据库,数据库的连接见PrepareQuery()类,
PrepareQuery query=new PrepareQuery();
String tableName=“学生”;
query.setTableName(tableName);
String sqlstr=“INSERT INTO 学生(学号,姓名,性别,年龄,班级,专业) VALUES( '”+txtStuID.getText()+"’,’"+txtStuName.getText()+"’,’"+sex+"’,’"+Integer.parseInt(txtStuAge.getText())+"’,’"+txtStuClassID.getText()+"’,’"+txtStuCou.getText()+"’)";
query.setSQL(sqlstr);
query.addQueryResult();
效果图:
简单学生成绩管理系统Java版(GUI+Microsoft Access数据库) - ssy - 那片天
【修改学生信息】子菜单项
要修改信息则先提示输入学号来方便修改。依靠输入对话框实现。
运行图:
简单学生成绩管理系统Java版(GUI+Microsoft Access数据库) - ssy - 那片天
由图可以看出页面与添加页面基本一样,所以代码实现基本一样。只不过需要把学号查询的结果要填入到文本框里这样可以直观的把信息显示到眼前,可以看出那些需要修改,更方便更直观。
需要注意的是学号无法修改,由注意事项提示可以看出要修改学号则需要删除学号并重新添加,删除学号在下面会有介绍。这样做是为了更好的管理而不混乱。
输入框与数据库查询部分代码如下:
xh=JOptionPane.showInputDialog(null,“请输入要修改的学号”,“修改学生基本信息”,JOptionPane.PLAIN_MESSAGE);
if(xh.length()==0){
JOptionPane.showMessageDialog(null,"学号不能为空,请重新输入","修改学生基本信息",JOptionPane.WARNING_MESSAGE);
new StuMod();}
else{ PrepareQuery query=new PrepareQuery();
String tableName="学生";
query.setTableName(tableName);
String sqlstr="select * from 学生 where 学号='"+xh+"'";
query.setSQL(sqlstr);
rs=query.modQuery();}
【删除学生信息】子菜单项
与查修改一样需要输入要删除的学号才可以进行操作,实现代码一致。
简单学生成绩管理系统Java版(GUI+Microsoft Access数据库) - ssy - 那片天
之后把查询的相应的信息返回到消息确认对话框里,把相应消息显示让使用者了解是否删除。
效果图:
简单学生成绩管理系统Java版(GUI+Microsoft Access数据库) - ssy - 那片天
以上只是简单介绍一下设计原理,后面诸多功能就不一一介绍了,实现原理与代码基本差不多,由于时间与本人能力有限,系统做的不是完整与美化,欢迎大家建议。
注:系统里背景图片来源与互联网,在这非常感谢图片作者。
学生成绩管理系百度云盘下载:student.zip
http://yun.baidu.com/s/1i3JxAfz
最新的源代码,与jar文件打包下载网盘地址:
源代码:http://pan.baidu.com/s/1pJ8x7BX
jar打包文件:http://pan.baidu.com/s/1mgFVqCK