MiG Layout を使用して Java Swing アプリケーションを作成しています。GUI はカスタム JPanel である一連の行で構成され、初期レイアウトを作成します。
パネル×
パネルy
しかし後で、これらの真ん中にパネルを挿入して、他のパネルを押し下げたいと思っています。
パネル×
パネル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();
多くのコンポーネントはありませんが、これは非常に最適ではないように感じますが、それを行うためのより良い方法はありますか? どんな助けでも大歓迎です。