我正在我的控制器类中定义TextArea,如下所示:
@FXML
private TextArea txtAreaStatus;
我正在尝试使用以下代码将文本附加到TextArea:
@FXML
public void clickGo (ActionEvent event) {
txtAreaStatus = new TextArea("");
txtAreaStatus.appendText("data");
System.out.println("clicked");
}
我真的很困惑为什么我的文本区域没有更新。没有任何错误。
当我点击按钮时,屏幕上会显示clicked
。
我做错了什么?
答案 0 :(得分:1)
每当您使用FXML
和Controller
组合时,控件引用都会在控制器中使用@FXML
进行注释。加载fxml时,对象将注入其各自的引用中。 因此,您无需为它们定义新对象。
在您的代码中,您需要删除:
txtAreaStatus = new TextArea("");
因为这会让您在场景中放松对TextField
对象的引用,并定义新 Textfield
对象(不在场景中)。您稍后尝试对此新对象进行操作。