JavaFX调用PasswordField.getText()抛出NullPointerException问题求解
问题根因
你控制器类里的passField变量没有加@FXML注解,JavaFX的FXMLLoader只会自动注入带有@FXML注解的FXML对应控件,没有注解的变量不会被赋值,默认就是null,你调用passField.getText()自然抛出空指针异常。userField加了注解所以能正常获取值。
修复方案
修改LoginFXML控制器类里的passField声明,加上@FXML注解即可:
@FXML private TextField userField; @FXML // 新增该注解完成FXML控件自动注入 private PasswordField passField;
额外优化建议
你控制台有版本不兼容警告:FXML是用JavaFX 16版本生成的,运行环境是JavaFX 11.0.2,建议统一JavaFX版本,避免后续出现其他隐性兼容问题。
内容的提问来源于stack exchange,提问作者Sean Riley
相关产品推荐
相关产品推荐

