Javafx 返回null的TextField
每次我在Javafx 返回null的TextField,javafx,Javafx,每次我在textField中键入一些文本并单击按钮,触发save()方法时,文本字段返回null。这可能是什么原因造成的 @FXM private TextField nome = new TextField(); public void save() { Model model = new Model(); model.setNome(nome.getText()); model.setStatus(status.getSelectedToggle().isSelec
textField
中键入一些文本并单击按钮,触发save()方法时,文本字段返回null。这可能是什么原因造成的
@FXM
private TextField nome = new TextField();
public void save() {
Model model = new Model();
model.setNome(nome.getText());
model.setStatus(status.getSelectedToggle().isSelected());
}
public void initialize(URL location, ResourceBundle resources) {
ModelController modelController = new ModelController();
btnSalvar.setOnAction(event -> modelController.save());
border.setCenter(modelController.onScreen());
}
这一行的问题在于:
@FXM
private TextField nome = new TextField();
当您这样做时,您正在将屏幕上显示的对象的引用替换为您创建的新对象。如果要引用通过FXML创建的对象,只需使用:
@FXML
private TextField nome;
FXML文件中的文本字段应具有与变量名称匹配的fx:id:
<TextField fx:id="nome" />
返回
null
?你是怎么查的。此外,您是否从fxml初始化了nome,或者这只是一个初始化字段,以防止NPE访问它。这样可以修复NPE,但场景中不会显示包含TextField
的字段。还有@FXM
是什么类型的注释?我希望@FXML
。。。