我有一个BoxLayout(Y_AXIS
),其中已经添加了一些(FlowLayout
)元素,如下所示:
element1> ================= <element1
element2> ================= <element2
element3> ================= <element3
只是想知道是否有一种简单的方法可以在布局中交换这些元素的位置。即,我可能想向上移动元素3,向下移动元素2。
有什么类似的东西吗:
element3.setPosition(element2,ABOVE);
感谢
编辑:找到了此解决方案。现在就试试吧
您可以考虑使用Container#setComponentZOrder
这将允许您更改组件在容器中的显示顺序(物理地更改它们的呈现和布局顺序)
int index = getComponentZOrder(element3);
setComponentZOrder(element3, --index);
请注意,您不能将zorder设置为低于0
或高于getComponentCount() - 1
有什么像。。。
你可以使用来制作自己的方法
panel.remove(...);
panel.add(...);
panel.revalidate();
panel.repaint();
请参阅Container
API,了解有关这些方法的更多详细信息。