使用javaFX密码字段

使用javaFX密码字段,java,javafx,bcrypt,Java,Javafx,Bcrypt,我试图用JavaFX密码字段实现bCrypt,但我无法让它工作。谁能给我一个指针吗?我试过使用passwordfield.equals.getpassword等,但仍然不起作用。如果我在userId字段上进行测试,它就会工作 private void loginpressed(ActionEvent event) { if (BCrypt.checkpw(passwordfield.getText(), passwordhash)) System.out.pri

我试图用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;

未使用
@FXML
注释的控制器类的任何成员都不能被
fxmloader
访问,除非它的可见性是
public

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

fxmloader
应该能够访问的每个成员都需要分别用
@FXML
进行注释

以下宣言应起作用:

@FXML
TextField userId;
@FXML
TextField passwordfield;
我也希望如此

@FXML
TextField userId,
          passwordfield;

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

未使用
@FXML
注释的控制器类的任何成员都不能被
fxmloader
访问,除非其可见性为
public

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

fxmloader
应该能够访问的每个成员都需要分别用
@FXML
进行注释

以下宣言应起作用:

@FXML
TextField userId;
@FXML
TextField passwordfield;
我也希望如此

@FXML
TextField userId,
          passwordfield;

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

似乎怀疑
用户ID
是用
@FXML
注释的,但
密码字段
不是。这将允许
fxmloader
注入
userId
,但不允许
passwordfield
,因为可见性是包私有的,而不是
公共的
。。。你得到了一个
NullPointerException
?啊哈!你刚刚解决了我的几个问题!我对FXML/FavaFX完全陌生,不知道在我想初始化的每一行之前都需要@FXML标记?加上它作为答案,我会接受的。谢谢。
userId
@FXML
注释,但
passwordfield
不是,这似乎很可疑。这将允许
fxmloader
注入
userId
,但不允许
passwordfield
,因为可见性是包私有的,而不是
公共的
。。。你得到了一个
NullPointerException
?啊哈!你刚刚解决了我的几个问题!我对FXML/FavaFX完全陌生,不知道在我想初始化的每一行之前都需要@FXML标记?加上它作为答案,我会接受的。谢谢,我也有同样的问题。试图使用
.getText()
并获取
NullPointerException
,但无法找出原因。在互联网上看到许多可能的原因后,我无意中发现了这一点,并立即发现我忘记了给我的一个字段添加注释。试图使用
.getText()
并获取
NullPointerException
,但无法找出原因。在互联网上看到许多可能的原因后,我无意中发现了这一点,并立即发现我忘记了给我的一个字段添加注释。