由于我需要一次拥有多个可折叠的TitledPanes(默认的JavaFX手风琴不支持),因此我在VBox中添加了一些TitledPanes。到目前为止,此方法工作正常,但我意识到TitledPanes的宽度比实际VBox的宽度小10px。
以下FXML代码:
<Pane prefHeight="700.0" prefWidth="1000.0" xmlns="http://javafx.com/javafx/8.0.71" xmlns:fx="http://javafx.com/fxml/1">
<children>
<VBox prefHeight="700.0" prefWidth="1000.0">
<children>
<TitledPane animated="false" text="Pane 1">
<content>
<AnchorPane prefHeight="300.0" />
</content>
</TitledPane>
<TitledPane animated="false" text="Pane 2">
<content>
<AnchorPane prefHeight="300.0" />
</content>
</TitledPane>
</children>
</VBox>
</children>
</Pane>
产生这种情况(请参见右侧的空白):
添加并修改了css文件后,布局如下所示:
CSS代码:
VBox {
-fx-padding: 0 -11 0 -1;
}
对我来说,此解决方案效果很好,但是似乎是一个较差的解决方法。我猜需要一个更聪明的解决方案吗?
在此先感谢:)
最佳答案
随舞台调整窗格的大小,但VBox的宽度不超过1000px。
捕获阶段的宽度大约为1010px。
您应该可以免除窗格:
<VBox xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1">
<children>
<TitledPane animated="false" text="Pane 1">
<content>
<AnchorPane prefHeight="300.0" />
</content>
</TitledPane>
<TitledPane animated="false" text="Pane 2">
<content>
<AnchorPane prefHeight="300.0" />
</content>
</TitledPane>
</children>
</VBox>
或使用AnchorPane调整vbox的大小(如果出于某些原因需要上面的面板):
<AnchorPane xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1">
<children>
<VBox AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<children>
<TitledPane animated="false" text="Pane 1">
<content>
<AnchorPane prefHeight="300.0" />
</content>
</TitledPane>
<TitledPane animated="false" text="Pane 2">
<content>
<AnchorPane prefHeight="300.0" />
</content>
</TitledPane>
</children>
</VBox>
</children>
</AnchorPane>
关于css - 带TitledPane的VBox的JavaFX填充,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43234391/