【问题标题】:TextArea not updating in JavaFXJavaFX 中的 TextArea 未更新
【发布时间】:2015-03-27 13:13:35
【问题描述】:

我在控制器类中定义 TextArea,如下所示:

@FXML 
private TextArea txtAreaStatus;

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

@FXML
public void clickGo (ActionEvent event) {

    txtAreaStatus = new TextArea("");

    txtAreaStatus.appendText("data");

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

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

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

我做错了什么?

【问题讨论】:

  • 删除 txtAreaStatus = new TextArea(""); 并重试。
  • @ItachiUchiha 这很尴尬,但是当我没有 TextArea 时根本没有出现在 UI 上。现在,当我删除该行时,一切正常。难以置信。

标签: java javafx textarea


【解决方案1】:

每当您使用FXMLController 组合时,控制器引用都会在控制器中使用@FXML 进行注释。加载 fxml 时,这些对象被注入到它们各自的引用中。 因此,您无需为它们定义新对象。

在你的代码中你需要删除:

txtAreaStatus = new TextArea("");

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

【讨论】:

    猜你喜欢
    • 2013-09-07
    • 2016-08-06
    • 2012-12-02
    • 1970-01-01
    • 2017-11-16
    • 1970-01-01
    • 1970-01-01
    • 2016-03-02
    • 2018-05-24
    相关资源
    最近更新 更多