JavaFX动态地向fxml文件中定义的窗格添加标签

时间:2016-06-03 13:21:57

标签: java javafx fxml borderpane

我的fxml文件中有BorderPane。我需要从我的控制器类中的代码向其中心添加标签。据我所知,我必须用initialize()方法做,但我没有找到如何实现这一点。

PS 我不想在fxml文件中静态添加它们,因为它们的数量每次都不同,它可能是5或可能是20.在这种情况下,我必须添加它们最大量并使它们不可见。但我不认为这是最好的决定。

1 个答案:

答案 0 :(得分:0)

您需要将控制器绑定到FXML,然后创建一个将被调用的初始化方法。您需要使用@FXML注释对其进行注释。

您还需要使用@FXML注释连接边框窗格。在这里我假设它是myBorderPane。

@FXML
private void initialize() {
    //Create the label
    Label myLabel = new Label("Will go in the Center Pane"); 
    myBorderPane.setCenter(myLabel);
}

显然,这只是将一个标签硬编码到您的窗格中。你可能需要在这里创建一些逻辑来生成你需要的东西。您还需要处理布局等。

希望这能指出你正确的方向。