TextArea 未在 JavaFX 中更新
TextArea not updating in JavaFX
我在我的控制器中定义 TextArea class 是这样的:
@FXML
private TextArea txtAreaStatus;
我正在尝试使用以下代码将文本附加到 TextArea:
@FXML
public void clickGo (ActionEvent event) {
txtAreaStatus = new TextArea("");
txtAreaStatus.appendText("data");
System.out.println("clicked");
}
我真的很困惑为什么我的文本区域没有更新。没有任何错误。
当我点击按钮时,clicked
打印在屏幕上。
我做错了什么?
无论何时使用 FXML
和 Controller
组合,控件引用都会在控制器中用 @FXML
注释。当加载 fxml 时,对象被注入到它们各自的引用中。 因此您不需要为它们定义新对象。
在您的代码中,您需要删除:
txtAreaStatus = new TextArea("");
因为这会使您在场景中丢失对 TextField
对象的引用并定义一个 new Textfield
对象(不在场景)。您稍后将尝试对此新对象执行操作。
我在我的控制器中定义 TextArea class 是这样的:
@FXML
private TextArea txtAreaStatus;
我正在尝试使用以下代码将文本附加到 TextArea:
@FXML
public void clickGo (ActionEvent event) {
txtAreaStatus = new TextArea("");
txtAreaStatus.appendText("data");
System.out.println("clicked");
}
我真的很困惑为什么我的文本区域没有更新。没有任何错误。
当我点击按钮时,clicked
打印在屏幕上。
我做错了什么?
无论何时使用 FXML
和 Controller
组合,控件引用都会在控制器中用 @FXML
注释。当加载 fxml 时,对象被注入到它们各自的引用中。 因此您不需要为它们定义新对象。
在您的代码中,您需要删除:
txtAreaStatus = new TextArea("");
因为这会使您在场景中丢失对 TextField
对象的引用并定义一个 new Textfield
对象(不在场景)。您稍后将尝试对此新对象执行操作。