我在学习javafx时遇到了这两个语句,我不知道它们有什么不同。
Pane pane = new Pane();和
StackPane pane = new StackPane();有没有人能告诉我有什么区别,什么时候使用?
发布于 2016-12-18 04:14:22
两者都是布局,但Pane是所有其他布局的基础,不同之处在于窗格提供了节点的自由定位,而StackPane (以及其他带有后缀窗格的节点称为Built-in Layout)则遵循它们自己的逻辑(位置/约束...)。例如,'StackPane‘在一个从后到前的堆栈StackPane中布局它的子元素。这只是一些肤浅且有限的信息,这里有一个很好的教程:Layout in JavaFX
发布于 2016-12-18 19:47:12
这两种布局的不同之处在于子项的位置和可调整大小的子项的大小。
Pane不做任何定位。子对象的layoutX和layoutY保持不变。此外,可调整大小的子代的大小将调整为它们的首选大小。
如果没有为子项设置位置,则StackPane根据为子项本身设置的对齐方式或为StackPane本身设置的对齐方式来确定子项的位置。可调整大小的子项被调整到最适合StackPane大小的大小(仍考虑最大大小)。两者都可以通过为单个子项设置的边距进行修改……
https://stackoverflow.com/questions/41202468
复制相似问题