的AnchorPane
將嘗試根據您的子節點上設置的約束來調整其子。從documentation:
應用程序設置每個子錨點約束在一個或多個側面配置 錨。如果一個孩子在相對側 錨(和是可調整大小),錨定窗格將調整其大小,以保持兩者 偏移,否則錨窗格將它調整到它的優選 大小。如果在前一種情況下(錨定在相反側)並且子 不可調整大小,則只有頂部/左側錨將被兌現。
在您發佈的代碼中,您尚未對子節點設置任何約束,因此它只會根據其首選大小進行調整。
例如,如果你想要孩子拉伸到填滿整個AnchorPane
,那麼你會怎麼做
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="160.0" prefWidth="100.0" SplitPane.resizableWithParent="false">
<children>
<fx:include fx:id="child" source="child.fxml" AnchorPane.topAnchor="0.0"
AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0"
AnchorPane.buttonAnchor="0.0" />
</children>
</AnchorPane>
注意,這還假設被child.fxml
產生的任何節點被允許增長的大小的AnchorPane
(例如它的maxWidth
和maxHeight
屬性具有適當的值),並且AnchorPane
也會在窗口調整大小等時增長。您可能還需要考慮AnchorPane
是否是最佳選擇,或者如果some other layout可能工作更好。
總之,有什麼特別的地方在佈局方面使用<fx:include>
:它的行爲就像任何其他的場景圖層級。
佈局將由任何容器放置在(在'AnchorPane'你的情況)所包含的FXMLs的根元素根據由那些根元素(一個指定的約束來執行,'AnchorPane'這些將是類似的東西'leftAnchor','topAnchor'等)。請顯示一些代碼,顯示你在做什麼。 –
我知道,但在場景Builder中包括FXML它不顯示leftAnchor,topAnchor或任何 – user2137817
不要緊,你如何生成FXML,它會以同樣的方式進行處理。所以,如果你不設置這些,那麼你不會得到你想要的結果。 (我不使用SceneBuilder太多,我根本不知道你可以做一個'外匯:include'在SceneBuilder ...) –