gpt4 book ai didi

java - 调整 SplitPane 的大小以适合 AnchorPane 父级

转载 作者:太空宇宙 更新时间:2023-11-04 12:19:59 24 4
gpt4 key购买 nike

这听起来像是重复的,因为有很多关于调整子 Pane 大小以适应父 Pane 的问题,但我几乎尝试了所有方法,但没有任何运气。

我的 SplitPane 位于 AnchorPane 内部,这是我的原始代码:

<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity"  
minWidth="-Infinity" prefHeight="792.0" prefWidth="1055.0"
xmlns="http://javafx.com/javafx/null" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="com.judeochalifu.stock_manager.controller.NewSupplierController">
<children>
<SplitPane fx:id="splitPlane" dividerPositions="0.5" layoutX="371.0" layoutY="229.0" prefHeight="792.0" prefWidth="1055.0"orientation="VERTICAL" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<items>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="100.0" prefWidth="160.0" />
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="100.0" prefWidth="160.0" />
</items>
</SplitPane>
</children>
</AnchorPane>

这是未调整大小的输出:

enter image description here

当我拖动窗口以增加宽度或高度时,这就是我得到的:

enter image description here

期望的结果是SplitPane随着窗口的扩展而扩展,即根据Anchorpane的宽度和高度调整大小。

环顾四周,我发现这两个问题OP正在尝试类似的事情:

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

JavaFX Panel inside Panel autoresizing

答案建议仅使用属性:

 AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"

在子 Pane 内。我尝试过,但没有成功:这就是我的代码现在的样子:

<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity"  
minWidth="-Infinity" prefHeight="792.0" prefWidth="1055.0"
xmlns="http://javafx.com/javafx/null" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="com.judeochalifu.stock_manager.controller.NewSupplierController">
<children>
<SplitPane fx:id="splitPlane" dividerPositions="0.5" "orientation="VERTICAL"
AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0"
AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<items>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="100.0"
prefWidth="160.0" />
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="100.0"
prefWidth="160.0" />
</items>
</SplitPane>
</children>
</AnchorPane>

我错过了什么?

最佳答案

我无法编译您的代码,因为其中存在错误。第一个示例中的 prefWidthorientation 参数之间缺少空格,而第二个示例中的 orientation 参数之前有不必要的引号。修复它们后,一切都按预期工作。

这是固定代码:

<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity"  
minWidth="-Infinity" prefHeight="792.0" prefWidth="1055.0"
xmlns="http://javafx.com/javafx/null" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="com.judeochalifu.stock_manager.controller.NewSupplierController">
<children>
<SplitPane fx:id="splitPlane" dividerPositions="0.5" orientation="VERTICAL"
AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0"
AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<items>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="100.0" prefWidth="160.0"/>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="100.0" prefWidth="160.0"/>
</items>
</SplitPane>
</children>
</AnchorPane>

请注意,您可以指定 SplitPane 的 prefWidthprefHeightlayoutXlayoutY,但由于 anchor 设置为 0,并且它是 AnchorPane 的唯一子级,因此它将始终占用所有可用空间,因此是多余的。

关于java - 调整 SplitPane 的大小以适合 AnchorPane 父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38945441/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com