项目简介
功能描述:学生成绩管理系统实现了对学生信息以及成绩的一系列增删改查操作。
个人负责任务: 添加学生、添加成绩、查找、生成学生成绩报表、修改删除学生信息、将项目上传git仓库
功能架构图
个人任务简述
1. 完成的任务与功能:
序号 | 完成功能与任务 | 描述 |
---|---|---|
1 | 界面布局 | 为了使界面布局更加美观,给左侧栏添加了滚动条,导致传统的布局模式如流式布局,网格布局等都不美观甚至无法将界面完整显示,参考百度上的代码重新编写了一个布局。 |
2 | 对数据进行增删改查 | 增删改查学生信息时,比较人性化,对输入的错误信息有友好的提示,例如当输入的学生姓名为数字时,会有弹窗提示;容错率较高,程序不会随意崩溃。 |
3 | 保存功能 | 可以手动保存,系统也会每十分钟自动保存到txt文档中,减少突发状况下的损失。 |
4 | 增加学生 | 填入出生日期时,如果该日期在今天之后,则会提示“出生日期不能在今天之后,请输入正确的日期格式”。 |
2.本人负责功能详解
1.*自动保存
使用timer.scheduleAtFixedRate的方法,每十分钟调用一次保存数据的方法,达到自动保存数据的功能。
2.GUI界面
因为只有导入成绩和修改信息时,需要的面板长度较为长,所以想着给jpanel_1也设置一个滚动条。但是这样一来,传统的布局模式如流式布局,网格布局等都不够美观甚至无法显示所有的按键,因此重新编写了一个布局。
(流式布局)
(网格布局)
3.*对数据进行增删改查
添加学生
输入姓名时若为空或者包含多个数字会提示“输入正确姓名”;如果没有选择性别则提示“请选择学生性别”;如果输入出生日期格式不对则提示“请输入正确的格式”,如果该日期在今天之后则会提示出生日期不能大于今天。
导入成绩:
导入成绩时,如果在数字之间误输入空格会自动删除,如果输入成绩不在0-100的单位内会提示“请输入正确的学生成绩”。
4.将数据输出到txt文档
使用字节输出流,并且创建了缓冲区,加快文件保存速度。
课程设计感想:
1.提示窗口JOptionPane位置不居中,百度后发现,只需要将showMessageDialog的第一个参数改为null就可以了。(参考文献:https://bbs.csdn.net/topics/110040403)
2.不知道如何设计程序判断出生日期是否合法。禁止SimpleDateFormat的自动计算功能。只需要用到setLenient,这个方法的含义是是否严格解析日期。
3. 因为只有导入成绩和修改信息时,需要的面板长度较为长,所以想着给jpanel_1也设置一个滚动条。但是这样一来,传统的布局模式如流式布局,网格布局等都不够美观甚至无法显示所有的按键,因此需要一个新的布局方式。(参考文献:Java的JPanel(流式布局)添加到JScrollPane滚动窗格后垂直滚动条不正常且流式布局特点没了?求解答。_百度知道)