JavaFX : FXML: How to make the child to extend its size to fit the parent pane?

标签 java javafx-2 fxml

我设法在父 fxml(mainMenu UI)下加载了一个子 fxml(子 UI)。 我创建了一个 ID 为“mainContent”的 AnchorPane。此 Pane 绑定(bind)到 4 个面,并根据舞台变化。

子窗口将被加载到“mainContent” anchor Pane 中。但是,我无法弄清楚如何让 child 与它的 parent “mainContent”一起改变。

我的子 UI 是这样调用的。

@FXML
private void mnuUserLevel_onClick(ActionEvent event) {
    FXMLLoader loader = new FXMLLoader(getClass().getResource("DBedit.fxml"));
    loader.setController(new DBeditEntityUserlevel());

    try {
           Node n = (Node)loader.load();
           mainContent.getChildren().add(n);
    } catch (IOException e){
           System.out.println(e.getMessage());
    }
}

为了进一步说明我的问题,请查看我的快照。红色方 block 是 child 。黄色方 block 是 MainMenu 父级的“mainContent”AnchorPane。

enter image description here

最佳答案

如果你设置 static 方法 setTopAnchor(child, value), setBottomAnchor( ... ), setLeftAnchor( . ..), setRightAnchor( ... )AnchorPane0.0,子 Node 将被拉伸(stretch)到父 AnchorPane 的完整范围。

文档链接:AnchorPane

编辑:在文档链接中,您还可以查看如何在 java 代码中设置这些值。

FXML 示例:

<AnchorPane fx:id="mainContent" ...>
<StackPane fx:id="subPane" AnchorPane.topAnchor="0.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" ></StackPane>
</AnchorPane>

关于JavaFX : FXML: How to make the child to extend its size to fit the parent pane?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22270994/

相关文章:

Java Fx 将场景大小调整为舞台

java - 当 javafx 中发生操作时,如何更改分割 Pane 的一半,同时保持另一半不变

java - 使用 BufferedReader 从多个 url 读取数据

java - 当折线图符号位于轴上时,它们会被轴剪裁

java - 如何从 SQL LIKE 子句中转义特殊字符?

JavaFX : Update UI label asynchronously with messages while application different methods execution

java - Linux 中的 UTF-8 问题

JavaFX 2 组合框在 win xp 中不起作用

java - 我们如何使用 Scene builder 2 来定位 java 7?

java - 如何在Javafx中组合字符来创建图标?