FXML如何在单个FXML文件中嵌套控制器

时间:2017-11-22 11:33:25

标签: java javafx fxml fxmlloader

我已经阅读了一些在FXML包含文件的上下文中讨论嵌套FXML控制器的帖子。但是我的问题是我有一个定义了多个类的FXML文件。

简单地解决我的问题。如何使用单个FXML文件,相当于在下面的示例中运行makeMe()。

public class ClassA{
   // something
}

public class ClassB{
   public ClassA myAClass;
}

public void makeMe{
   ClassB myBClass;
   myBClass = new ClassB();
   myBClass.myAClass = new CLassA();
}

1 个答案:

答案 0 :(得分:0)

如果有,请尝试。

<Header fx:id="header" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.Controller">
    <chartWindow>
        <Block count="4" type="Short" />
    </chartWindow>
    <measurement>
        <Block count="6" type="Short" />
    </measurement>
</Header>

在这种情况下,Header应该如下所示

public class Header extends Block {

    private Block chartWindow;

    private Block measurement;

    public Block getChartWindow() {
        return chartWindow;
    }

    public void setChartWindow(Block block) {
        this.chartWindow = block;
    }

    public Block getMeasurement() {
        return measurement;
    }

    public void setMeasurement(Block block) {
        this.measurement = block;
    }
}

因此,在控制器中,您只有一个Header实例

public class Controller {
    @FXML
    private Header header;
}