我有一个BoxLayout(Y_AXIS
),其中添加了一些(FlowLayout
)元素,如下所示:
element1> ================= <element1
element2> ================= <element2
element3> ================= <element3
只是想知道是否有一种简单的方法可以在布局中交换这些元素位置。即我可能想要将元素3向上移动并将元素2向下移动。
是否有类似的内容:
element3.setPosition(element2,ABOVE);
由于
编辑:找到this解决方案。现在就试试吧
答案 0 :(得分:3)
您可以考虑使用Container#setComponentZOrder
这将允许您更改组件在容器中的显示顺序(实际更改它们的呈现顺序和布局顺序)
int index = getComponentZOrder(element3);
setComponentZOrder(element3, --index);
请注意,您无法在0
或以上getComponentCount() - 1
答案 1 :(得分:2)
有什么类似......
您可以使用以下方法制作自己的方法:
panel.remove(...);
panel.add(...);
panel.revalidate();
panel.repaint();
了解Container
API以获取有关这些方法的更多详细信息。