我在 Controller 类中定义 TextArea,如下所示:
@FXML
private TextArea txtAreaStatus;
我正在尝试使用以下代码将文本附加到 TextArea:
@FXML
public void clickGo (ActionEvent event) {
txtAreaStatus = new TextArea("");
txtAreaStatus.appendText("data");
System.out.println("clicked");
}
我真的很困惑为什么我的文本区域没有更新。没有任何错误。
当我单击按钮时,clicked
会打印在屏幕上。
我做错了什么?
最佳答案
每当您使用 FXML
和 Controller
组合时,控件引用都会在 Controller 中用 @FXML
进行注释。加载 fxml 时,这些对象将被注入(inject)到它们各自的引用中。 因此您不需要为它们定义一个新对象。
在您的代码中,您需要删除:
txtAreaStatus = new TextArea("");
因为这会让您失去对场景中 TextField
对象的引用,并定义一个新 Textfield
对象(该对象不在现场)。您稍后将尝试对这个新对象执行操作。
关于java - JavaFX 中的 TextArea 未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29301561/