我有一个TextField
,其中有一些文字,但我想在某些事件上更改该文字但我得到的是NullPointerException
。
我正在使用setText()
方法,但仍无效。我从其他班级调用该函数。
任何帮助?
提前致谢。
答案 0 :(得分:4)
在控制器的类定义开始时:
@FXML private TextField txtDescription;
在initialize方法中,添加:
txtDescription = new TextField();
在作用于该文本字段的方法中,例如:
txtDescription.setText("This is my new text.");
答案 1 :(得分:0)
确保 .fxml 文件中的TextField定义包含以下内容:
fx:id="myCoolTextField"
如果没有,请使用以下内容在display()方法中初始化文本字段:
myCoolTextField = new TextField();
您也可以覆盖特殊的 initialize()方法。每次更新场景时都会调用此方法。
@FXML
public void initialize() {
myCoolTextField.setText("Here is my updated text.");
}