将视图居中于JavaFx中的另一个视图的顶部

时间:2017-07-04 18:23:42

标签: javafx javafx-2 javafx-8

我试图将视图居中放在另一个视图的顶部,主要是在一个锚窗格中。

这是我的代码:

<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="160.0" prefWidth="100.0">
    <children>
        <ListView fx:id="list" prefHeight="750.0" prefWidth="300.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" />
        <ProgressIndicator fx:id="bar" />
    </children>
</AnchorPane>

这就是它的样子:

enter image description here

这是我的目标:

enter image description here

修改

更新了包含堆栈窗口的代码

<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="160.0" prefWidth="100.0">
          <children>
            <StackPane prefHeight="150.0" prefWidth="200.0">
              <children>
                <ListView fx:id="list" />
                <ProgressIndicator fx:id="bar" />
              </children>
            </StackPane>
          </children>
        </AnchorPane>

1 个答案:

答案 0 :(得分:1)

试试这个:

填写BusinessRuleValidator的关键是将StackPane的maxHeight和maxWidth设置为Double.MAX_VALUE。

ListView

  

<children> <StackPane AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> <children> <ListView maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" /> <ProgressIndicator maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" progress="0.44"> <StackPane.margin> <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" /> </StackPane.margin> </ProgressIndicator> </children> </StackPane> StackPane的prefHeight和prefWidth可能无法反映原始帖子中的内容。您可以更改这些值以满足您的需求。我还在ListView上设置了约束,以便它填充其父StackPane

SceneBuilder图片:

StackPane Layout Properties ListView Layout Properties ProgressIndicator Layout Properties

您可能需要设置AnchorPane

的首选边