对于您的特定代码段,也许使用Pane而不是StackPane是最好的方法。
如果要手动设置布局值,请不要使用会自动为您设置布局值的布局窗格(例如StackPane)。如果使用布局窗格,则下次布局窗格执行布局传递时(例如,调整其大小或场景图中某些内容或位置变脏),您显式设置的布局值将被自动覆盖。
如果要在JavaFX中显式布局项目,请执行以下一项操作:
如果要使用预定义的布局管理器自动布局组件,但要从其默认位置调整或临时修改某些组件的位置,则可以调整translateX / Y值,而不是layoutX / Y值。根据translateX的定义:
节点的最终平移将计算为layoutX + translateX,其中layoutX建立节点的稳定位置,translateX可以选择对该位置进行动态调整。此变量可用于更改节点的位置,而不会影响其layoutBounds,这对于设置节点的位置动画效果非常有用。