学生信息管理系统用于管理学生基本信息,该系统除能够大大的帮助学籍管理人员提高工作效率。本小节将从软件功能、数据库系统设计和项目结构几个方面介绍该软件系统的设计方案。

24.1.1系统功能简介

学生信息管理系统集信息展示、查询、增删和修改多种功能为一体,该系统的主界面如图24-1所示。

图24-1学生信息管理系统主界面

从图24-1可以看出:学生信息管理系统具有数据分页浏览、查询、新增、删除、修改及查看学生信息详情等功能。其中查询功能又可以按照用户指定的条件完成查询,用户可以按姓名、按性别和班级查询。如果用户没有指定任何查询条件,则显示系统中全部数据。

当单击“新增”按钮时,系统会弹出新增学生信息对话框,如图24-2所示。

图24-2 新增学生信息对话框

当用户在如图24-2所示的对话框中填写学生的各项信息后,单击“确定”按钮即可新增一条学生信息,如果所填写的信息有误,系统会弹出相应的对话框给予提示,例如,当新增学生的学号与原有学号重复时,会弹出如图24-3所示的对话框。

图24-3提示对话框

用户如果希望删除某一条学生信息,则可以先从如图24-1所示窗体的表格中选择一条信息,然后单击“删除”按钮即可。为防止出现误删除的情况,每次删除操作前系统都会弹出对话框向用户确认是否要删除这条信息。

修改学生信息也需要先选定待修改的信息,如果没有选定,系统会提示用户先完成选定操作。当选定一条学生信息后,单击“修改”按钮即可打开修改学生信息对话框。对话框内会自动把该学生的各项信息显示到相应的文本框中,例如选定图24-1所示界面中第一条学生信息后,单击“修改”按钮后所弹出的对话框如图24-4所示。

图24-4修改学生信息对话框

从图24-4可以看出:修改学生信息对话框和新增学生信息对话框是完全一样的,只是修改学生信息对话框中的学号文本框是只读状态,无法修改其内容。

用户如果需要查询特定的学生信息,可以先用组合框选择一个查询条件,然后在文本框中填写查询关键字,最后单击“查询”按钮即可完成查询,例如希望查询所有女生的信息,则可以先在图24-1所示窗体的组合框中选择“性别”选项,然后在文本框中填写关键字“女”,单击“查询”按钮即可查询到所有女生的信息。查询出的信息以分页的形式显示,这样的显示形式更容易浏览。主窗体界面下方设置了四个翻页按钮以方便用户查看数据,并且在界面正下方还显示出数据的总页数和当前页数。

24.1.2数据库表设计

本系统只保存学生信息,因此只有一张用于保存学生信息的student表,这张数据表位于一个名为student的数据库中,其字段如图24-5所示。

图24-5 student表结构

读者在运行项目前需要先在student数据库中创建student表。

24.1.3项目结构简介

学生信息管理系统总共有6个类,它们分别是:

  • Student:表示学生的类,它的属性分别与student表相对应。
  • StudentDao:操作student表的类,类中定义了增删改查学生信息的各种方法。
  • DBUtil:操作数据库工具类,提供了获得Connection对象和释放资源的方法。
  • MainFrame:学生信息管理系统的主窗体类。
  • DetailDialog:学生信息详情对话框,新增信息、修改信息、查看信息详情都使用这个对话框。
  • Main:包含main()方法的类,从main()方法启动主窗体。

MainFrame是学生信息管理系统的主窗体,该窗体上有很多组件,这些组件都被定义为MainFrame类的属性,它们分别是:

JTable table;//数据表格
JScrollPane scrollPane;//表格所在的滚动面板
Object[] columns;//表格列名称
DefaultTableModel data;//表格的数据模型
JComboBox<String> jbcKeywords;// 查询关键字组合框
JButton btnQuery;//查询按钮
JButton btnAdd;//新增按钮
JButton btnDelete;//删除按钮
JButton btnUpdate;//更新按钮
JButton btnDetail;//信息详情按钮
JButton btnFirst;// 首页按钮
JButton btnPreview;// 上一页按钮
JButton btnNext;// 下一页按钮
JButton btnLast;// 末页按钮
JTextField txtKeywords;// 查询关键字文本框
JLabel lblPage;// 页码标签

DetailDialog表示信息详情对话框,单击“新增”、“修改”和“详情”这三个按钮时都会弹出这个对话框,只是在三种情况下弹出的对话框以不同的形式显示出来。如果是单击“新增”后弹出的对话框上所有的文本框中都没有任何信息,而单击“修改”时,对话框中会自动显示出要修改的学生信息,而单击“详情”按钮时,对话框中也会显示出要查看的学生信息,但这些信息都是不可编辑的。为了表示出不同模式的对话框,在DetailDialog类中定义了三个静态属性用以表示不同模式的对话框,它们分别是:

public static final int ADD = 1;//新增模式
public static final int UPDATE = 2;//修改模式
public static final int DETAIL = 3;//详情模式

当创建出一个DetailDialog类对象后,这个对象只能属于其中一种模式,因此在DetailDialog类中还定义了一个mode属性,这个属性表示当前DetailDialog类对象是哪一种模式,因此mode的值只能是上述静态属性中的一个。

DetailDialog中所定义的组件如下:

JLabel lblSid;//学号标签
JTextField txtSid;//学号文本框
JLabel lblName;//姓名标签
JTextField txtName;//姓名文本框
JLabel lblSex;//性别标签
JRadioButton rbtMale;//单选按钮男
JRadioButton rbtFemale;//单选按钮女
ButtonGroup group;//按钮组
JLabel lblClassId;//班级标签
JTextField txtClassId;//班级文本框
JLabel lblPhone;//家长手机标签
JTextField txtPhone;//家长手机文本框
JLabel lblInfo;//备注信息标签
JTextArea txaInfo;//备注信息文本区
JScrollPane scrollPane;//备注文本区的滚动面板
JButton btnOK;//确定按钮
JButton btnCancel;//取消按钮

除阅读文章外,各位小伙伴还可以点击这里观看我在本站的视频课程学习Java!

第二十四章《学生信息管理系统》第1节:学生信息管理系统简介相关推荐

  1. 微信小程序(第二十四章)- 数据交互前置

    微信小程序(第二十四章)- 数据交互前置 讲解微信小程序前置的原因 参考文档 理解微信小程序 小程序简介 作用 提问 针对提问--uni-app介绍 小程序和普通网页开发的区别 小程序代码构成 文件个 ...

  2. 第二十四章 Caché 变量大全 $ZA 变量

    文章目录 第二十四章 Caché 变量大全 $ZA 变量 大纲 描述 注意 `$ZA`,带终端I / O 带磁带I / O的$ZA 第二十四章 Caché 变量大全 $ZA 变量 包含当前设备上最后一 ...

  3. 【正点原子MP157连载】第二十四章 设备树下的LED驱动实验-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7

    1)实验平台:正点原子STM32MP157开发板 2)购买链接:https://item.taobao.com/item.htm?&id=629270721801 3)全套实验源码+手册+视频 ...

  4. JavaScript高级程序设计第四版学习--第二十四章

    title: JavaScript高级程序设计第四版学习–第二十四章 date: 2021-5-31 10:46:01 author: Xilong88 tags: JavaScript 本章内容: ...

  5. matlab的meadian函数_24 第二十四章 时间序列模型_W

    <24 第二十四章 时间序列模型_W>由会员分享,可在线阅读,更多相关<24 第二十四章 时间序列模型_W(31页珍藏版)>请在人人文库网上搜索. 1.第二十四章时间序列模型 ...

  6. 系统集成项目管理工程师(软考中级)—— 第二十四章 收尾管理、知识产权、法规标准规范 笔记分享

    前言 现在分享一些笔记给大家,希望能够帮助大家并顺利通过软考. 幕布地址:第二十四章 收尾管理.知识产权.法规标准规范 - 幕布 概述 大数据 收尾 收尾管理工作 ①项目验收工作 是项目收尾管理中的首 ...

  7. 第二十四章 并发编程

    第二十四章 并发编程 爱丽丝:"但是我不想进入疯狂的人群中" 猫咪:"oh,你无能为力,我们都疯了,我疯了,你也疯了" 爱丽丝:"你怎么知道我疯了&q ...

  8. 【正点原子FPGA连载】第二十四章HDMI彩条显示实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1

    1)实验平台:正点原子新起点V2开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=609758951113 2)全套实验源码+手册+视频下载地址:ht ...

  9. 鸟哥的Linux私房菜(基础篇)- 第二十四章、 X Window 配置介绍

    第二十四章. X Window 配置介绍 最近升级日期:2009/08/07 在 Linux 上头的图形介面我们称之为 X Window System,简称为 X 或 X11 罗!为何称之为系统呢?这 ...

  10. ​第二十四章:皮衣大卖

    第二十四章:皮衣大卖 店铺掌柜说:"准备原材料?我这边都有原材料啊!还准备什么?" "不不不,这原材料必须本人亲自去准备."李丽质说道. "为何?&q ...

最新文章

  1. blog微服务架构代码_聊聊微服务架构
  2. 字典树模板+洛谷P2580 于是他错误的点名开始了
  3. Hibernate 常见异常
  4. 20172310《程序设计与数据结构》(下)实验二:二叉树实验报告
  5. 数据库中常见的面试问题(转)
  6. windows dns配置文件在哪_搭建基于Windows的域服务与文件服务(一)——搭建Windows域服务...
  7. VOW Desktop(CAD看图软件)v1.0.1中文版
  8. 计算机网络管理员操作技能考试试卷操作,计算机网络管理员高级工操作技能考核试卷(第一套)...
  9. 苹果iphone手机如何隐藏文件夹名称 iphone隐藏文件夹标题方法图解
  10. win10外接显示器后无声音 解决方案
  11. 社交电商-京东云小店简介
  12. 记一个 Harvester SNAT 案例
  13. 云服务器流量是什么东西_云服务器流量最大是多少?需要多少带宽?
  14. 2018省赛第九届蓝桥杯真题C语言B组第六题题解 递增三元组
  15. 为什么手机多用arm?
  16. EPICS记录参数--Event记录(event)
  17. Daily Life
  18. Gambol的马桶公司(1)——马桶招聘(上)
  19. 朝花夕拾之socket的基本使用以及mina框架简单介绍
  20. 2018财年微软游戏业务营收首超100亿美元 占公司总营收9.4%

热门文章

  1. 基础篇001. STM32概述
  2. ai云呼功能使用介绍
  3. 什么是好的数据指标:精益数据分析
  4. 用51单片机和LCD显示模块自制电子闹钟
  5. android图片缩放动画,Android开发笔记——点击查看大图过渡动画与图片缩放与移动...
  6. 后端系统缓存技术分析
  7. 理解(计算、网络,存储)虚拟化,只需一篇文章
  8. 回归初心,近三万字详解 23 种设计模式(多图 + 代码)
  9. 2009年全球被动元器件供应商排行榜(murata第一)
  10. 笑死!一个流氓软件的故事