JavaFX如何锚定嵌套的FXML组件以匹配父维度

时间:2017-12-03 01:17:09

标签: javafx fxml

我正在创建一个使用嵌套FXML节点的应用。它们使用

之类的结构连接到父控制器中的父节点
@FXML
private AnchorPane nestedNodeConnector;

,我像这样附上孩子:

AnchorPane child = createNestedAnchorPaneWithTableViewInside();
nestedNodeConnector.getChildren().setAll((AnchorPane)child);

代码有点简化,但我希望自己解释得足够多。现在我的问题是我正在尝试加载(作为子节点)一个尽可能大的AnchorPane,其中包含一个锚定的TableView。但是我不能让它工作,因为TableView维度永远不会粘在父节点上(为了随窗口大小而增长)。

我能够在没有嵌套孩子的情况下使其工作,但我真的必须在单独的FXML文件中加载Ta​​bleView。有什么建议?我认为我的方法创造了一个AnchorPane"孩子"在AnchorPane" nestedNodeConnector"中,它会破坏锚属性。

1 个答案:

答案 0 :(得分:1)

我所要做的只是锚定孩子AnchorPane(给父母AnchorPane):

AnchorPane child = createNestedAnchorPaneWithTableViewInside();
AnchorPane.setTopAnchor(child, 10.0);
AnchorPane.setBottomAnchor(child, 10.0);
AnchorPane.setLeftAnchor(child, 10.0);
AnchorPane.setRightAnchor(child, 10.0);
nestedNodeConnector.getChildren().setAll((AnchorPane)child);