簡體   English   中英

JavaFX - 如何在錨點窗格中添加容器

[英]JavaFX - How can i add a container in an anchor pane

我有一個簡單的項目,其中包含帶分割器的fxml。

所以fxml是這樣的:

<AnchorPane id="AnchorPane" prefHeight="200" prefWidth="320" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8" fx:controller="accordionproject.FXMLDocumentController">
    <children>
        <SplitPane fx:id="splitPane" dividerPositions="0.29797979797979796" focusTraversable="true" layoutX="60.0" layoutY="14.0" prefHeight="200.0" prefWidth="320.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" xmlns:fx="http://javafx.com/fxml">
            <items>
                <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="160.0" prefWidth="100.0" />
                <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="160.0" prefWidth="100.0" />
            </items>
        </SplitPane>
    </children>
</AnchorPane>

我想要的是僅使用java代碼在分割器的左錨定窗格中插入一個vbox。

可以這樣做嗎?

我是fxml的新手,所以任何幫助都會被貶低。

先感謝您。

fx:id添加到要操作的AnchorPane

<AnchorPane fx:id="leftAnchorPane" minHeight="0.0" minWidth="0.0"
    prefHeight="160.0" prefWidth="100.0" />

作為@FXML成員字段在控制器中獲取它:

public class FXMLDocumentController
{
    @FXML private AnchorPane leftAnchorPane;
    ...
}

並在所需的位置操作它initialize()此處顯示的initialize() ,可以是 - 幾乎 - 其他任何地方):

public void initialize() {
    VBox vbox = new VBox();
    ...
    AnchorPane.setTopAnchor(vbox, 10.0); // obviously provide your own constraints
    leftAnchorPane.getChildren().add(vbox);
}

您應該嘗試使用JavaFX Scene Builder。 它使得編輯fxml變得更加容易,因為它以圖形方式完成。

http://www.oracle.com/technetwork/java/javafx/tools/index.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM