首页 > 其他分享 > 第二十四章《学生信息管理系统》第1节:学生信息管理系统简介

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

时间:2023-01-05 16:32:50浏览次数:54  
标签:24 对话框 信息 学生 第二十四章 按钮 信息管理系统 查询


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

24.1.1系统功能简介

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

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

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

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

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

 第二十四章《学生信息管理系统》第1节:学生信息管理系统简介_学生信息管理系统_02

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

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

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

图24-3提示对话框

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

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

 第二十四章《学生信息管理系统》第1节:学生信息管理系统简介_学生信息管理系统_04

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

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

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

24.1.2数据库表设计

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

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

图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;//取消按钮

本文字版教程还配有更详细的视频讲解,小伙伴们可以点击这里观看。

标签:24,对话框,信息,学生,第二十四章,按钮,信息管理系统,查询
From: https://blog.51cto.com/mugexuetang/5991445

相关文章

  • 用Python来做一个简单的学生管理系统(附源码)
    小学妹说要毕业了,学了一学期Python等于没学,现在要做毕设做不出来,让我帮帮她,晚上去她家吃夜宵。当时我心想,这不是分分钟的事情,还要去她家,男孩子晚上不要随便出门,要学会......
  • Java毕业生就业系统学生就业统计系统
    简介本项目主要是为了统计毕业生就业情况(就业方向分为四种:参加工作,考研,自主创业,待就业),教师可登入该系统查看学生就业情况,包括:考研、职业领域、工作城市,薪资等统计情况,并且......
  • C语言学生成绩管理系统[2023-01-04]
    C语言学生成绩管理系统[2023-01-04]设计题目:《学生成绩管理系统》设计目的利用所学的三种程序基本结构以及数组、用户自定义函数进行一个简单管理系统的设计,进一步理......
  • 农村高中生源转型期提升学生二次函数建模能力的课堂探究
        基于生活化数学课堂情境创设可以更好地指导学生开展自主学习活动,即帮助他们可以灵活地运用模型建构思想来对现实生活中的有关问题进行剖析及求解,最终帮助学生......
  • C/C++球场预约信息管理系统
    C/C++球场预约信息管理系统四、设计基本要求1.只能使用C语言编程,除能使用平台所带的系统标准函数外,不能使用第三方的软件包2.要有使用多级文本菜单界面,3.要有良......
  • java开发的考研系统大学生考研推荐网站考研网站源码
    简介:考研信息推荐查询。主要是管理发布管理考研的知识文章,或者上传资料,发布考研的视频。学生可以注册后下载资料,查看考研文章视频等。文章分为vip文章和普通文章,学生查看v......
  • HCIA-HarmonyOS Application Developer学生党认证经验分享
    初识HarmonyOS 从1024鸿蒙开发者大会百校联盟公开课到现在已经快一年了,在这一年中我学到了很多关于鸿蒙的知识。 HarmonyOS是一款面向未来、面向全场景(移动办公、运动......
  • 登陆界面、学生信息记录界面——Python
    Button按钮Canvas画布、用于绘制直线、椭圆、多边形等形状Checkbutton复选框Entry单行文本框Frame框架,可以作为其它组建的容器,常用来对组件进行分......
  • 大学生入门到精通JAVA系列(一)大学生在哪里写技术博客
    简书知乎专栏GithubPage当然也可以自己建站。 以上是我知道并且大部分写过的博客地址,今天先在这列一下,后续补充完善下各自优缺点。如果有感觉不错的技术博客可以在评论留......
  • C语言学生成绩管理程序[2023-01-02]
    C语言学生成绩管理程序[2023-01-02]题目一、学生成绩管理程序(学号后三位139-390的选做)任务:利用C语言中相关知识(包括文件,结构体数组等)设计学生成绩管理程序,要求如下:任意......