0

左側に TreeView があり、右側にコンテンツ領域がある SplitPane があります。TreeView の項目をクリックすると、コンテンツを右側に表示したいと考えています。これを行う方法は、SceneBuilder で作成した FXML をロードすることです。私の問題は、FXML が SplitPane に適合しないことです。これは私がFXMlファイルをロードする方法です

if (selectedItem.getValue() == "Sample") {
    try {
        AnchorPane pane = (AnchorPane) FXMLLoader.load(getClass().getResource("Sample.fxml"));
        splitPane.getItems().set(1, pane);
    } catch (IOException e) {
        e.printStackTrace();
    }           
}

元の SplitPane サイズに合わせて作成したこの AnchorPane を作成するにはどうすればよいですか?

4

2 に答える 2

0

FXで揃えるのがめんどくさい

次のことをお勧めします。

<SplitPane>
    <TreeView /> //LEFT
    <ANCHORPANE AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> //RIGHT, anchors make the content stick to the corner
        <AnchorPane fx:id="myDynamicContent"/>
    </ANCHORPANE>
</SplitPane>

これにより、内側のペイン myDynamicContent が隅々まで引き伸ばされます。これが答えかどうか教えてください。

コンテンツに AncorPane.* 属性を設定して、ネストされた AnchorPane を必要としないようにすることもできます。

編集:それについて考えた後、それは「コンテナ」であるため、外側のペインが必要だと思います。それがなければ、内側のペインは何に固執することもありません。

于 2015-07-23T11:07:45.527 に答える