java - JavaFX 中的 TextArea 未更新

标签 java javafx textarea

我在 Controller 类中定义 TextArea,如下所示:

@FXML 
private TextArea txtAreaStatus;

我正在尝试使用以下代码将文本附加到 TextArea:

@FXML
public void clickGo (ActionEvent event) {

    txtAreaStatus = new TextArea("");

    txtAreaStatus.appendText("data");

    System.out.println("clicked");
}

我真的很困惑为什么我的文本区域没有更新。没有任何错误。

当我单击按钮时,clicked 会打印在屏幕上。

我做错了什么?

最佳答案

每当您使用 FXMLController 组合时,控件引用都会在 Controller 中用 @FXML 进行注释。加载 fxml 时,这些对象将被注入(inject)到它们各自的引用中。 因此您不需要为它们定义一个新对象。

在您的代码中,您需要删除:

txtAreaStatus = new TextArea("");

因为这会让您失去对场景中 TextField 对象的引用,并定义一个 Textfield 对象(该对象不在现场)。您稍后将尝试对这个新对象执行操作。

关于java - JavaFX 中的 TextArea 未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29301561/

相关文章:

c# - 将 JSON 字符串反序列化为自定义 Java 对象

java - 我将如何以编程方式从另一种方法单击 JavaFX 中的按钮?

java - java FX 小程序和java 小程序有什么区别?

php - 用户输入类别

javascript - 让用户通过 textarea 调用函数是否危险?

Java冒泡排序

java - 四个 Activity 不显示 Toast

java - 圆角半径可绘制形状

JavaFX 如何以编程方式更改 GridPane 行高

html - 文本区域滚动条