3

我正在使用 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();

虽然没有很多组件,这感觉非常不理想,但有更好的方法吗?任何帮助将不胜感激。

4

0 回答 0