【问题标题】:How do I assign a String value to a label automatically at startup with JavaFX?如何在使用 JavaFX 启动时自动将字符串值分配给标签?
【发布时间】:2016-04-23 19:13:49
【问题描述】:

这是我想做的“控制台”版本:

    String aboutMe;
    aboutMe = "bla bla bla";
    System.out.println(aboutMe);

在 JavaFX 中我有这个:

在 x.fxml 中:

    <Label GridPane.rowIndex="1" fx:id="about"/>

在 Controller.java 中:

    public String aboutMe = "Bla bla";
    public Label about;

我只想在 fmxl 中使用“text=aboutMe”...但这不起作用。

使用

    public label about = new Label(aboutMe);

...也不工作。

如果我有一个我可以做的承包商:

    public Controller() {
        about.setText(aboutMe);
    }

但我没有。

有人有什么想法吗?

【问题讨论】:

  • 你必须使用 text="aboutMe" 而不是 "text=aboutMe"
  • aboutMe 是我要使用的字符串变量,而不是文本。
  • 当您在 Controller 中有引用 @FXML private Label label 时,您可以设置如下值:label.setText(aboutMe)。问题是您为 label 分配了一个新引用,并在该新引用上设置了值,而不是 fxml 文件中的那个。如果您需要参考Controller,可以查看here

标签: java javafx


【解决方案1】:

我使用它来工作:

public class Controller implements Initializable {


public void initialize(URL location, ResourceBundle resources) {
    about.setText(aboutMe);
}

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-13
    • 1970-01-01
    • 1970-01-01
    • 2022-11-16
    • 1970-01-01
    相关资源
    最近更新 更多