2016-08-08 4 views
0

У меня есть первая трещина на FXML и BCrypt в качестве учебного упражнения.Пропустить ввод текстового поля FXML в BCrypt.checkpassword

У меня есть два текстовых поля в моем FXML, и мой план состоял в том, чтобы объединить их в строку для сравнения с хешем из Bcrypt.

Это мой example.fxml

<TextField fx:id="userId" layoutX="103.0" layoutY="56.0" onAction="#loginpressed"/> 
<PasswordField fx:id="passwordfield" layoutX="103.0" layoutY="111.0" onAction="#loginpressed"/> 

Это мой LoginPage.java

private void loginpressed(ActionEvent event) 
{ 

    if (BCrypt.checkpw((unpwfield), passwordhash)) 
     System.out.println("Accepted"); 
    else 
     System.out.println("Denied"); 

} 

Я думал, что мой ответ был бы

private String unpwfield = userId+passwordfield; 

, но он не работает. (Оператор + не определен для типа аргументов javafx.scene.control.TextField, javafx.scene.control.TextField), почему?

EDIT

Я также попытался сделать следующее, что дает NullPointer

String unpwfield; 
    unpwfield = userId.getText()+passwordfield.getText(); 
    if (BCrypt.checkpw(unpwfield, passwordhash)) 
     System.out.println("It matches"); 
    else 
     System.out.println(userId.getText()+passwordfield.getText()); 

ответ

0

вывернуть код правильный. Я не вводил @FXML passwordfield