gpt4 book ai didi

JavaFX 8. 在 BorderPane 中调整 SplitPane 的大小

转载 作者:行者123 更新时间:2023-11-29 03:16:34 26 4
gpt4 key购买 nike

我在 JavaFx 8 中通过 .fxml 定义了以下布局:

<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="730.0" prefWidth="1005.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
<top>
<Pane fx:id="statusPane" prefHeight="30.0" prefWidth="1005.0" BorderPane.alignment="CENTER" />
</top>
<center>
<SplitPane fx:id="mainPane" dividerPositions="0.2" prefHeight="700.0" prefWidth="1005.0" minHeight="-Infinity" minWidth="-Infinity" BorderPane.alignment="CENTER">
<items>
<ScrollPane fitToHeight="true" fitToWidth="true" hbarPolicy="ALWAYS" vbarPolicy="ALWAYS" minHeight="-Infinity" minWidth="-Infinity">
<content>
<AnchorPane fx:id="menuPane" prefHeight="700.0" prefWidth="200.0" minHeight="-Infinity" minWidth="-Infinity" />
</content>
</ScrollPane>
<ScrollPane fitToHeight="true" fitToWidth="true" hbarPolicy="ALWAYS" vbarPolicy="ALWAYS" minHeight="-Infinity" minWidth="-Infinity">
<content>
<AnchorPane fx:id="formPane" prefHeight="700.0" prefWidth="800.0" minHeight="-Infinity" minWidth="-Infinity"/>
</content>
</ScrollPane>
</items>
</SplitPane>
</center>
</BorderPane>

我不明白为什么当用户在运行时调整 BorderPane 大小时 SplitPane 不能小于 1005x700。 SplitPane 可以大于 1005x700,这很好,但它不能小于 prefHeight 和 prefWidth,认为应用程序窗口本身 (BorderPane) 可以。

为什么?

最佳答案

好的。我发现了问题!

 minHeight="-Infinity" minWidth="-Infinity"

由 Scene Builder 生成是一个非常糟糕的主意!

下面的代码

 minHeight="0" minWidth="0"

按预期工作!

所以不要对minHeightminWidth 使用-Infinity 常量。 0 就是你需要的!

关于JavaFX 8. 在 BorderPane 中调整 SplitPane 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26236173/

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