在javaFX中Pane和stackPane有什么区别?

时间:2016-12-17 19:50:17

标签: java javafx

我正在学习javafx,并且遇到了这两个我不知道它们不同的陈述。

Pane pane = new Pane();

StackPane pane = new StackPane();

有人可以告诉我有关差异以及何时使用哪个?

2 个答案:

答案 0 :(得分:8)

两者都是布局,但yield retrun是所有其他布局的基础,不同之处在于Pane提供了节点的自由定位,而Pane(以及带有后缀窗格的其他节点)称为内置布局)作为回报,遵循自己的逻辑(位置/约束......)。例如,'StackPane'以后向前堆栈StackPane布局其子节点。这只是表面和有限的信息,这是一个很好的教程:Layout in JavaFX

答案 1 :(得分:4)

两种布局之间的区别在于孩子的定位和可调整大小的孩子的大小调整。

Pane没有做任何定位。孩子的layoutXlayoutY未经修改。此外,可调整大小的儿童可以调整其大小。

如果没有为孩子设置位置,

StackPane将根据孩子本身的对齐集或StackPane本身的对齐集确定孩子的位置。可调整大小的孩子的大小调整到最适合StackPane大小的大小(仍考虑最大大小)。两者都可以通过为个别孩子设定的保证金来修改......