学生成绩管理系统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 - 那片天
【增加学生信息】子菜单项:

大体可以分成几部分:

  1.   标题,背景图,标题图标
    

代码实现方式与主框架一样,只需更改相应的字与背景图,图标即可。

  1.   左边的输入实现依靠标签与文本框方式实现,标签代码如下: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);

  2.   右边是注意事项提示,可以让使用者更好的使用减少不必要的错误,实现方式只需添加文本区域即可。
    

注意要把文本设置不可编辑否则,用户可能误操作。如: setEditable(false);

  1.   按钮,可以调用监听器即可,在相应的监听器实现相应的程序,比如点击添加时会检查相应文本框是否为空,如果为空则返回提示对话框。如果没有错误则把数据加入到数据库,数据库的连接见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

简单学生成绩管理系统Java版(GUI+Microsoft Access数据库)相关推荐

  1. c语言实现学生二科成绩的单链表,c++链表实现学生成绩管理系统(简易版)

    #include using namespace std; typedef struct student{ int id;//学号 string sex; string name; int cpp;/ ...

  2. C语言学生成绩简单,C语言实现简单学生成绩管理系统.pdf

    C语言实现简单学生成绩管理系统 这篇文章主要为大家详细介绍了C语言实现简单学生成绩管理系统,具有 定的参考价值,感兴趣的小伙伴们可以 参考 下 本文实例为大家分享了C语言实现学生成绩管理系统的具体代码 ...

  3. 基于PHP的学生成绩管理系统(多用户版)

    基于PHP的学生成绩管理系统(多用户版) 一 项目介绍 此成绩管理系统用户分为学生和教师,界面友好!(附带设计文档) 技术栈 原生php+mysql+navicat+vscode 二 主要功能 学生 ...

  4. 学生成绩管理系统(java简略版)

    学生成绩管理系统 任务目标: 1.用java编写学生成绩系统,能够实现增删查改的操作: 2.有相应的数据结构来存储学生信息: 3.对相应的对象进行封装. 实现思路: 1.学生应为一个类,通过构建实例来 ...

  5. 学生成绩管理系统java+mysql+swing入门级项目开发

    夫陶公清风千古,余又何人,敢称庶几 代码已移至Gitee : https://gitee.com/BreezAm/edu-student 文章目录 简要: 登陆运行效果 主界面运行效果图 界面设置运行 ...

  6. 学生成绩管理系统 c++版

    一.具体代码 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<fstream> using namesp ...

  7. 学生信息管理系统Java版(信息自动生成)

    文章目录 前言 一.学生信息管理系统内容要求 二.实现思路 1.构造学生对象 2.构造工具类 3.实现控制台交互 三.代码实现 四.效果展示 总结 前言 本案例作为对Java基础学习后的练习,掌握集合 ...

  8. Java项目:教务处学生成绩管理系统(java+JSP+bootstrap+servlet+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 本项目包含管理员.教师.学生三种角色: 用户角色包含以下功能: 修改密码,查看自己的信息,查看自己的成绩,登录界面等功能. 管 ...

  9. 学生成绩查询java版_学生成绩查询系统,基于ssm的JAVA系统

    每天记录学习,每天会有好心情.*^_^* 今天记录的项目是学生成绩查询系统,这个项目是这么回事:介绍了在Internet/WWW环境下构建学生成绩查询系统的设计思路与方法 ,阐述了在学生成绩查询系统中 ...

  10. 基于PHP和mysql的简单学生成绩管理系统

    本系统主要架构图如上图所示.PS:register_check.php的自动注册代码写在check.php里了. 使用数据库的两张表,user_info用户信息表和stu_info学生成绩信息表. 提 ...

最新文章

  1. HDU3791(二叉搜索树)
  2. 小说里的lt什么意思_一般加杠杆是什么意思股市里?答案很简单
  3. skia库的3D变换研究
  4. Floyd判圈算法(Floyd's cycle detection
  5. 收藏丨运维良药,K8S日常故障处理集锦
  6. QT中鼠标位置获取问题之event-globalPos()与pos()函数
  7. SAP GUI里Screen Painter的工作原理
  8. PostgreSQL安装和简单配置
  9. [html] 如何优化大数据列表(10万+)的性能?说说你的方案
  10. 现控笔记(三):状态空间表达式的解
  11. WebGL 3D on iOS8 正式版
  12. my ReadBook_wangluoyingxiaoyucehua / network marketing / wangluoyingxiao
  13. 【android开发】手机应用管理器的实现之实现软件加锁(四)
  14. 容错性设计原则(一)
  15. WPF打开子窗口给父窗口添加蒙版效果
  16. python纸对折8848_GitHub - yly8848/Python-100-Days: Python - 100天从新手到大师
  17. 45度回合RPG网页游戏《烽烟OL》v1.3正式开源!
  18. MacBook上下载安装Mysql
  19. 修复花雨庭服务器,我的世界手机版怎么进花雨庭服务器 | 手游网游页游攻略大全...
  20. 2021-05-20英文科技论文写作与学术报告Lecture 3习题答案

热门文章

  1. 济南大学Oj系统c语言,“浪潮杯”第十届山东省大学生ACM程序设计竞赛在济南大学举行...
  2. CCF推荐-计算机网络领域顶级期刊会议,CCF推荐学术期刊及其会议计算机网络.pdf...
  3. AnyLogic建模笔记
  4. es6文档笔记(全)
  5. 算法设计与分析知识点整理
  6. Hadoop大数据测试:Hadoop大数据平台测试流程
  7. [译] 人人都是设计师。我们可以的。
  8. # 研究杂感 × VOSviewer(第三辑)
  9. 小程序商城和h5商城那个比较好?
  10. java自动化测试面试题_自动化测试面试题