2016-01-13 55 views
0

有我的代碼:如何使用javafx中的顏色​​返回代碼中的文本?

public String changePassword(String _login, String _pass1, String _pass2) { 
if (_pass2 != _pass1) { 
    return "Passwords not match!"; //Want to be red color 
} else { 
    executeQuery("UPDATE persons SET username = username, password = password WHERE username = '" + _login + "' AND password = '" + _pass2 + "'"); 
    return "Well done!"; // Want to be green color 
} 
} 

在我FXML文件本文將顯示在標籤。

+1

您是否以純文本格式存儲密碼?糟糕的程序員。沒有餅乾。但嚴重的是,這是對基本安全原則的嚴重違反。閱讀如何正確存儲密碼。 – tnw

+0

@tnw我正在將'_pass1'和'_pass2'解釋爲「密碼」和「確認密碼」輸入字段(雖然我可能是錯的......),在這種情況下,這不是安全問題。雖然SQL看起來不正確。幸運的是,它永遠不會被執行,因爲字符串沒有以正確的方式進行比較...... –

+0

「我正在將_pass1和_pass2解釋爲」密碼「和」確認密碼「輸入字段」 - 是的,它是 –

回答

0

而不是返回一個字符串,你可以返回一個布爾值。

public boolean changePassword(...) { 
    if(not correct) { 
     return false; 
    } 
    return true; 
} 

然後在那裏你調用這個方法,你可以檢查此方法的結果是什麼,並採取相應的行動:

if(changePassword(...)) { 
    //set label color to green and set text to well done 
} else { 
    //set label color to red... 
} 

此外,如果你不知道,FXML節點既可以通過控制器或訪問一個根構造。我更喜歡根構造。你可以做@FXML private Label idOfLabelInFxml;,然後通過那裏訪問它。更多信息可以在這裏找到:get FXML file nodes using java code

相關問題