我有一个BoxLayout(Y_AXIS),其中已经添加了一些(FlowLayout)元素,如下所示:

element1> ================= <element1
element2> ================= <element2
element3> ================= <element3


只是想知道是否有一种简单的方法可以在布局中交换这些元素的位置。即我可能想将element3向上移动而element2向下移动。

是否有类似的东西:

element3.setPosition(element2,ABOVE);


谢谢

编辑:找到this解决方案。现在去试一试

最佳答案

您可以考虑使用Container#setComponentZOrder

这将允许您更改组件在容器中出现的顺序(实际上改变了它们呈现和布置的顺序)

int index = getComponentZOrder(element3);
setComponentZOrder(element3, --index);


请注意,您不能将zorder设置在0以下或getComponentCount() - 1以上

10-08 18:40