我正在使用MiG Layout创建Java Swing应用程序,GUI由一系列行组成 这是自定义JPanels,我创建了初始布局:
小组x
小组y
但是后来我希望能够在这些中间插入一个面板并推动其他面板,
小组x
Panel z
小组y
目前,我正在通过迭代布局中的所有组件并重新添加它们来实现它:
Map<Component, Object> constraintMap = ((MigLayout)this.getLayout()).getConstraintMap();
Component[] allComps = this.getComponents();
this.removeAll();
for(Component c : allComps){
if('met some insert condition'){
this.add('new component to insert', new CC().wrap());
this.add(c, new CC().wrap());
}
this.revalidate();
虽然没有很多组件,但感觉非常优化,有没有更好的方法呢?任何帮助将不胜感激。