Javafx+MySQL 学生成绩管理系统
做項(xiàng)目經(jīng)常有各種做GUI的管理,像什么圖書(shū)館管理系統(tǒng),學(xué)生成績(jī)管理系統(tǒng)。都曾使大部分人頭疼不已。而作為新時(shí)代好少年,自然不能坐視不管。本著學(xué)習(xí)的原則,對(duì)這個(gè)程序進(jìn)行了開(kāi)發(fā)。歡迎交流學(xué)習(xí)
下載鏈接:
github:https://github.com/13337356453/Student_achievement_management_system.git
CSDN:https://download.csdn.net/download/realmels/12866270
由于本例是用MySQL和Javafx開(kāi)發(fā)的,所以請(qǐng)?zhí)崆鞍惭b好MySQL和Javafx。
項(xiàng)目介紹
- 開(kāi)發(fā)時(shí)間:2020-8-25
- 開(kāi)發(fā)語(yǔ)言:Java
- Java版本:1.8.0_261
- 數(shù)據(jù)庫(kù):MySQL
- MySQL版本: 8.0.21
- 開(kāi)發(fā)工具:IntelliJ IDEA 2020.2
- 項(xiàng)目名稱(chēng):學(xué)生成績(jī)管理系統(tǒng)
具體代碼
由于我懶得把所有的代碼都在博客里介紹的原因,所以我只介紹部分重要代碼,具體的可在源代碼中查看
md5加密
在實(shí)行登錄時(shí),如果直接用明文密碼加密,會(huì)非常容易被抓包獲取,所以為了安全(高級(jí)),在登錄時(shí)通常會(huì)采取對(duì)登錄密碼加密的措施。而我們這里使用最簡(jiǎn)單的md5加密
通過(guò)java實(shí)現(xiàn)md5加密非常簡(jiǎn)單,專(zhuān)門(mén)寫(xiě)一個(gè)類(lèi)來(lái)進(jìn)行加密即可
首先要導(dǎo)入一些庫(kù)
然后是加密的代碼
public static String md5(String text) {byte[] s = null;try {s = MessageDigest.getInstance("md5").digest(text.getBytes());} catch (NoSuchAlgorithmException e) {throw new RuntimeException("沒(méi)有這個(gè)md5算法!");}String md5code = new BigInteger(1, s).toString(16);for (int i = 0; i < 32 - md5code.length(); i++) {md5code = "0" + md5code;}return md5code;}簡(jiǎn)單測(cè)試一下
輸入:123456 輸出:e10adc3949ba59abbe56e057f20f883e非常棒
圖片顯示
我們?cè)?strong>JavaFX Scene Builder 2.0里,添加一個(gè)圖片,設(shè)置圖片路徑,如下
運(yùn)行程序,發(fā)現(xiàn)并沒(méi)有圖片顯示
這是什么情況,檢查fxml文件,發(fā)現(xiàn)并無(wú)異樣
對(duì)于這種情況,我在經(jīng)歷了瘋狂的百度,谷歌搜索后。決定。。自己動(dòng)手,豐衣足食
找到LoginWindow.java文件,他需要一個(gè)初始化
要給一個(gè)類(lèi)初始化,我們要讓它繼承javafx.fxml.Initializable接口
這樣,我們需要實(shí)現(xiàn)一個(gè)initialize方法,在里面寫(xiě)我們初始化的代碼
我們給我們所需顯示的圖片在初始化代碼中設(shè)置Image
login_img.setImage(new Image("images/login.jpg"));再次運(yùn)行,還是沒(méi)有圖像
這種情況,是因?yàn)樵趈avafx中導(dǎo)入圖片如果是本地圖片需要在前面加上file:
login_img.setImage(new Image("file:images/login.jpg"));再次運(yùn)行,成功顯示了圖片
密碼可視
在登錄界面,密碼輸入框的右邊,有一個(gè)小眼睛
按下這個(gè)小眼睛,密碼框中的密碼就變成可視的,同時(shí)小眼睛變成帶杠的小眼睛
即常見(jiàn)的密碼顯示功能
想要實(shí)現(xiàn)這樣的功能,原理非常簡(jiǎn)單,就是在相同的位置有一個(gè)密碼輸入框(PasswordField)和一個(gè)文本輸入框(TextField),當(dāng)按下按鈕時(shí),一個(gè)隱藏,一個(gè)顯示,控制文本,就實(shí)現(xiàn)了
具體原理可以看這一篇博客https://blog.csdn.net/realmels/article/details/108413721
更多知識(shí)點(diǎn)可自行下載源代碼學(xué)習(xí)
總結(jié)
以上是生活随笔為你收集整理的Javafx+MySQL 学生成绩管理系统的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 浅谈知识融合
- 下一篇: 使用DataX将mysql中做数据导出时