cmlanche: 您叫什么名字?
StackPane
cmlanche: 您好,StackPane君,可以问下您在JavaFX家族中是什么地位?
stackpane君:
我可重要了,我是在JavaFx中所有布局中使用常用的,是大哥的角色,我经常罩
这那帮小弟
cmlanche: 你说的小弟是指谁?
stackpane君:
我小弟可多了,比如著名的vbox和hbox这对孪生兄弟,还有超级明星BorderPane,还有一些不怎么出名但是也经常使用的GridPane,TiledPane,AnchorPane等等
cmlanche: 您有什么特点吗?有那么重要吗?
stackpane君:
你知道多重宇宙吧?我就像那样,
在我的空间里,可以让我的孩子们共同拥有我的全部空间。对了,
默认情况下我让我的孩子们都是居中的,当然你可以调整它,在我的孩子上面增加一个属性StackPane.aligment,比如下面的代码使用了
StackPane.alignment="TOP_LEFT"
,这样button1就在左上角的位置了!
> <StackPane xmlns="http://javafx.com/javafx"
> xmlns:fx="http://javafx.com/fxml"
> fx:controller="com.cmlanche.javafx.layouts.stackpane.StackPaneTest"
> prefHeight="400.0" prefWidth="600.0" style="-fx-background-color: grey;">
>
> <Button fx:id="button1" text="button1" prefWidth="100" prefHeight="200" StackPane.alignment="TOP_LEFT">
> </Button>
>
> <Button fx:id="button2" text="button2" prefWidth="200" prefHeight="100">
> </Button>
> </StackPane>
>
而且我的空间大小是充满我的父空间的。看如下图的灰色区域,都是我的空间
cmlanche: 那您有哪些应用场景吗?
stackpane君:
比如说某一个区域需要共享,会被多个视图所共用,我就发挥作用啦。而且我可以轻易可以把元素居中,我总是铺满父布局的。