У меня есть первая трещина на 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());