【问题标题】:how to change the text of TextField in java fx 2 [closed]如何在java fx 2中更改TextField的文本[关闭]
【发布时间】:2012-05-23 00:26:53
【问题描述】:

我有一个TextField,其中有一些文字,但我想在某些事件上更改该文字,但我收到了NullPointerException

我正在使用setText() 方法,但它仍然无法正常工作。我正在从其他类调用该函数。

有什么帮助吗?

提前致谢。

【问题讨论】:

  • 如果您在文本字段上调用 ​​setText 时得到 NPE,那么该文本字段可能不存在或者您拼写错误,因此是 NPE。请发布相关代码,我相信我们可以帮助您完成这项任务
  • 解决了,但感谢 fr 回复兄弟 :)

标签: java nullpointerexception textfield javafx-2


【解决方案1】:

在控制器类定义的开头:

@FXML private TextField txtDescription;

在初始化方法中,添加:

txtDescription = new TextField();

在作用于该文本字段的方法中,例如:

txtDescription.setText("This is my new text.");

【讨论】:

  • 谢谢兄弟 :) @sergey 实际上这是我的错误。 setText() 方法可以正常工作,而不是将其设为本地,而是将其设为全局和静态。
  • 你不需要初始化它
【解决方案2】:

确保您的 .fxml 文件中有一个 TextField 定义,其中包含以下内容:

 fx:id="myCoolTextField"

如果没有,请在 display() 方法中使用以下内容初始化文本字段:

myCoolTextField = new TextField();

您也可以覆盖特殊的 initialize() 方法。每次更新场景时都会调用此方法。

@FXML
public void initialize() {
    myCoolTextField.setText("Here is my updated text.");
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-28
    • 2014-09-02
    • 1970-01-01
    • 2013-04-14
    • 2021-08-23
    • 2013-12-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多