使用 javaFX 密码字段

Using javaFX passwordfield

我正在尝试使用 JavaFX 密码字段实现 bCrypt,但我无法让它工作。任何人都可以给我一个指针吗?我已经尝试使用 passwordfield.equals .getpassword 等,但它仍然不起作用。如果我在 userId 字段上进行测试,它会起作用。

 private void loginpressed(ActionEvent event) 

 {

    if (BCrypt.checkpw(passwordfield.getText(), passwordhash))
        System.out.println("It matches");
    else

                System.out.print("false");      
 }
@FXML
 TextField userId;
 TextField passwordfield;
 Button loginpressed;

控制器 class 的任何未用 @FXML 注释的成员都无法被 FXMLLoader 访问,除非它的可见性是 public.

这导致 FXMLLoader 无法将 passwordfield 注入控制器,从而在取消引用时导致 NullPointerException

FXMLLoader 应该能够访问的每个成员都需要用 @FXML 单独注释。

以下声明应该有效:

@FXML
TextField userId;
@FXML
TextField passwordfield;

@FXML
TextField userId,
          passwordfield;

因为在这种情况下,注释的目标是两个字段。