做项目经常有各种做GUI的管理,像什么图书馆管理系统,学生成绩管理系统。都曾使大部分人头疼不已。而作为新时代好少年,自然不能坐视不管。本着学习的原则,对这个程序进行了开发。欢迎交流学习
下载链接:
github:https://github.com/13337356453/Student_achievement_management_system.git
CSDN:https://download.csdn.net/download/realmels/12866270
由于本例是用MySQL和Javafx开发的,所以请提前安装好MySQL和Javafx。
项目介绍
- 开发时间:2020-8-25
- 开发语言:Java
- Java版本:1.8.0_261
- 数据库:MySQL
- MySQL版本: 8.0.21
- 开发工具:IntelliJ IDEA 2020.2
- 项目名称:学生成绩管理系统
具体代码
由于我懒得把所有的代码都在博客里介绍的原因,所以我只介绍部分重要代码,具体的可在源代码中查看
md5加密
在实行登录时,如果直接用明文密码加密,会非常容易被抓包获取,所以为了安全(高级),在登录时通常会采取对登录密码加密的措施。而我们这里使用最简单的md5加密
通过java实现md5加密非常简单,专门写一个类来进行加密即可
首先要导入一些库
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
然后是加密的代码
public static String md5(String text) {
byte[] s = null;
try {
s = MessageDigest.getInstance("md5").digest(
text.getBytes());
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException("没有这个md5算法!");
}
String md5code = new BigInteger(1, s).toString(16);
for (int i = 0; i < 32 - md5code.length(); i++) {
md5code = "0" + md5code;
}
return md5code;
}
简单测试一下
输入:123456
输出:e10adc3949ba59abbe56e057f20f883e
非常棒
图片显示
我们在JavaFX Scene Builder 2.0里,添加一个图片,设置图片路径,如下
运行程序,发现并没有图片显示
这是什么情况,检查fxml文件,发现并无异样
对于这种情况,我在经历了疯狂的百度,谷歌搜索后。决定。。自己动手,丰衣足食
找到LoginWindow.java文件,他需要一个初始化
要给一个类初始化,我们要让它继承javafx.fxml.Initializable接口
import javafx.fxml.Initializable;
这样,我们需要实现一个initialize方法,在里面写我们初始化的代码
我们给我们所需显示的图片在初始化代码中设置Image
login_img.setImage(new Image("images/login.jpg"));
再次运行,还是没有图像
这种情况,是因为在javafx中导入图片如果是本地图片需要在前面加上file:
login_img.setImage(new Image("file:images/login.jpg"));
再次运行,成功显示了图片
密码可视
在登录界面,密码输入框的右边,有一个小眼睛
按下这个小眼睛,密码框中的密码就变成可视的,同时小眼睛变成带杠的小眼睛
即常见的密码显示功能
想要实现这样的功能,原理非常简单,就是在相同的位置有一个密码输入框(PasswordField)和一个文本输入框(TextField),当按下按钮时,一个隐藏,一个显示,控制文本,就实现了
具体原理可以看这一篇博客https://blog.csdn.net/realmels/article/details/108413721
更多知识点可自行下载源代码学习