我正在使用 MiG 布局创建 Java Swing 应用程序,GUI 由一系列自定义 JPanel 行组成,我创建了初始布局:
面板 x
面板 y
但后来我希望能够在这些中间插入一个面板并将其他的向下推,
面板 x
面板 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();
虽然没有很多组件,这感觉非常不理想,但有更好的方法吗?任何帮助将不胜感激。