使用Java Swing开发的学生信息管理系统(界面美观)

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/newlinfeng/article/details/85457439

设计一个学生基本信息管理系统,实现“系统登录”,“学生信息增加”,“学生信息查询”,“学生信息删除”,“学生信息修改”,“学生信息导入”,“学生信息导出”等功能,具体要求如下:

关注下面的微信公众号,将会有更多的学习资源免费发放给您哟!!!!

                                                           

 

                                                我的微信号:

                                                                    

 

  1. 整个系统按照MVC设计模式进行开发,系统包结构如下:

  1. view包存放所有的用户界面
  2. controller包存放所有的事件处理监听器类
  3. vo包中存放所有的实体类,如User,Student等
  4. dao包中存放所有的操作类,如UserDao,StudentDao等
  5. util包中存放所有的功能类,如jdbc的封装类,数据格式校验类,密码加密类等。

 

  1. 视图部分要求
  1. 采取swing组件设计“登录界面”,“系统主界面”,“信息增加界面”,“查询界面”,“信息修改界面”、“密码修改界面”,“系统帮助界面”,“关于界面”
  2. 对于“登陆界面”,包含“登陆”,“取消”,“退出”三个按钮及其他输入组件。

当点击“登陆”按钮时,若“用户名”或“密码”没有输入,显示提示信息“用户名或密码不能为空”;当用户名及密码不正确时,显示提示信息“用户名或密码不正确,请重新输入”,用户最多可以尝试3次,若输入3次均不正确,则退出系统;

当点击“取消”按钮时,将界面中的所有输入清空;

当点击“退出”按钮时,首先显示询问对话框“您确信退出该系统吗?”,若点击“是”,则退出系统,否则返回到“登陆”界面。(提示信息框使用JOptionPane类的showMessageDialog方法,询问框使用JOptionPane类的showOptionDialog方法)

  1. 对于“主界面”,使用下拉菜单显示所有操作功能,包括“基本操作”菜单,“导入导出”菜单,“帮助”菜单。“基本操作”菜单包括“增加”、“查询”、“密码修改”、“退出”等菜单项,“导入导出”菜单包括“从excel导入”、“从txt导入”、“导出到excel”、“导出到txt”等菜单项,“帮助菜单”包括“关于本系统”、“系统帮助”等菜单项,在某些菜单项之间增加必要的分割线。

当选择“导入”功能时,首先显示文件对话框,选择相应的文件,将文件中的数据增加到数据库中。增加时要进行关键字段的重复检查:若文件中某行的学号与数据库表中的学号重复时,显示提示信息“文件中某些行的学号在数据库中已存在,请检查”,若导入成功,显示提示信息“成功导入***条记录到数据库中”。当选择“导出”功能时,同样先显示文件对话框,输入目标文件,然后将学生表中的数据写入到文件中,并显示提示框“成功导出***条数据到文件中”。导入导出时,txt文件的格式自行定义。当选择其他菜单项时,进入相应的操作界面。

  1. 对于“信息增加界面”,要求输入学号,姓名,性别,生日,省份,特长,手机号码等信息,性别输入使用“单选框”,省份输入使用“下拉列表框”,特长使用“多选框”,其他输入项使用文本框,界面中还包括“保存”,“取消”,“返回”三个操作按钮,当点击“保存”按钮时,首先对输入的信息做一些基本的校验,包括:
  1. 所有信息都必须输入或选择,若为空,则显示提示框“***字段不能为空”
  2. 对于学号,要求是10位长度的纯数字组成,否则显示提示框“学号格式不正确”
  3. 输入的学号不能在数据库中存在,否则显示提示框“该学号已存在”
  4. 对于手机号码,要求是合法的手机号码,否则显示提示框“手机号码格式不正确”
  5. 对于生日,要求是合法的日期,即“yyyy-mm-dd”格式,否则显示提示框“输入的生日字段不是一个有效的日期”

上述验证通过后,在数据库中增加一条记录,并显示询问框“您输入的信息已成功保存,是否继续输入?”,若点击“是”则清空各组件内容后返回到“增加界面”,否则返回到“主界面”;

当点击“取消”按钮时,清空各组件的输入或选择

当点击“返回”按钮时,关闭“信息增加”界面,返回到“主界面”

  1. 对于“查询界面”,包括三个区域,最上面区域是查询条件及“开始查询”和“清空条件”两个按钮,可以按“学号”,“姓名”,“性别”,“省份”等多字段组合查询,中间区域以表格形式显示查询结果,最下面显示“修改”,“删除”,“导出到excel”,“返回”四个操作按钮。

当点击“开始查询”按钮时,按照输入条件进行组合查询,将查询结果显示在表格中;

当点击“修改”按钮时,将表格中选择的记录显示在“信息修改”界面中,该界面与“信息增加”界面相同;

当点击“删除”按钮时,首先显示确认对话框,“您确信要删除选中的记录吗?”选择“是”时,从数据库中删除该记录,并显示提示框“该记录成功删除”,然后返回到“查询界面”;

当点击“导出到excel”按钮时,首先显示一个文件选择对话框,输入导出的excel文件名,然后将查询结果写到excel文件中,并显示提示信息“查询结果已成功导出到excel文件中”

  1. 对于“密码修改”界面,要求输入原密码,新密码,确认新密码三个信息,同时包括“修改”,“取消”,“返回”三个按钮。

当点击“修改”按钮时,若原密码不正确,则显示提示框“原密码不正确”,

当“新密码”与“确认新密码”不相同时,显示提示框“两次密码不一致,请检查”,

输入的密码还必须符合一定复杂性,比如“密码长度6-10;密码中至少包含一个数字,一个大写字母,一个小写字母,不能有空格”

  1. 对于“系统帮助”界面,请事先将本系统的文档资料写入到一个txt文件,然后在该界面中采用多行文本框将txt文件中的内容显示出来,其内容包括各组员的设计报告中第四部分总结汇集一起,要求字数不少于2000字。
  2. 对于“关于”界面,显示系统的名称,班级,学号,姓名,时间等信息
  1. 数据库部分要求
  1. 数据库采用mysql数据库,表结构自行设计,学生基本信息表中学号为主键,用户表中密码采取md5或其他算法加密存放
  2. 数据库类型,数据库名称,数据库用户名,密码不要采取硬编码,存放在属性文件中。

 

下面是我依据要求使用Swing写的学生信息管理系统。大致介绍如下:

  • 系统详细设计类图

 

二、系统运行界面截图(包括:主界面及每个功能界面)

2.1、登陆界面

 

输入错误:

密码输入正确,进入主界面。

 

2.2、主界面

2.3、添加学生信息界面

添加学生信息对学号进行了格式、是否与数据库重复的处理,出生日期格式要求为YYYY-MM-DD,联系电话必须是11位。校验完成后,则提示添加成功提示框,如果需要继续添加,点击是,如果不需要,点击否。

2.4、查询学生信息界面

查询信息有多条件查询、分页、修改、删除、导出Excel、返回六大功能。其中多条件查询是根据你输入的信息进行查询,什么都不输入就是全部查询出来,并显示在表中。修改、删除是将表格中所选的信息进行修改和删除的操作。

    

条件查询:

 

选中表格中的一行数据并修改学生信息,做数据回显:

 

修改成功:

 

选中一行,并将这行的数据删除:

 

导出到Excel是将数据导出到一个Excel文件中。

2.5、密码修改界面

 

修改成功:

2.5、从Excel导入界面

 

路径输入错误:

 

路径输入正确,会先和数据库中的字段进行比对,将重复的元素去掉,再将其插入到数据库中。插入成功后会提示插入成功。

2.5、从txt导入界面

 

成功导入提示:

2.5、从Excel导出界面

原理同从Excel导入,下面是导出成功界面

 

导出信息如下:

   

 

2.5、从txt导出界面

 

导出成功界面:

 

相应的导出信息如下,共八条数据:

 

2.5、关于本系统

    1. 系统帮助

 

 

该项目的源码在github上:https://github.com/oldlinfeng/Practice

 

展开阅读全文

没有更多推荐了,返回首页