GridBag布局一半组件不可见



我正在尝试创建一个3乘4的jpanels网格。2乘4在gridLayout中是可行的,但我不能在底部添加青色的jpanel。这就是我使用GridBagLayout时得到的结果
波纹管是我的网格袋限制,我不知道为什么,但面板4-8是不可见的

     ///////////Build Top Panels///////////
    buildPanel();
    gc.weightx = 0.5;
    gc.gridx = 0;
    gc.gridy = 0;
    this.add(p1,gc); // panel1
    buildPanel2();
    gc.gridx = 1;
    gc.gridy = 0;
    this.add(p2,gc); //panel2
    buildPanel3();
    gc.gridx = 2;
    gc.gridy = 0;
    this.add(p3,gc);//panel3
    buildPanel4();
    gc.gridx = 3;
    gc.gridy = 0;
    this.add(p4,gc);//panel4
    buildBottomPanel();
    gc.gridx = 0;
    gc.gridy = 2;
    this.add(b1,gc);//panel5
    buildBottomPanel2();
    gc.gridx = 1;
    gc.gridy = 2;
    this.add(b2,gc);//panel6
    buildBottomPanel3();
    gc.gridx = 2;
    gc.gridy = 2;
    this.add(b3,gc);//panel7
    buildBottomPanel4();
    gc.gridx = 3;
    gc.gridy = 2;
    this.add(b4,gc);//panel8
    buildFooter();
    gc.gridx = 0;
    gc.gridy = 2;
    gc.gridwidth = 4;
    gc.fill = GridBagConstraints.HORIZONTAL;
    this.add(footer,gc);//panel9

buildBottomPanel()到buildBottomPanel 4()放置在(0,2)到(3,2)

gc.gridx = 0;
gc.gridy = 2;
this.add(b1,gc);//panel5
gc.gridx = 3;
gc.gridy = 2;
this.add(b4,gc);//panel8

然后你的页脚被放在它们上面:

buildFooter();
gc.gridx = 0;
gc.gridy = 2;
gc.gridwidth = 4;
gc.fill = GridBagConstraints.HORIZONTAL;
this.add(footer,gc);//panel9

底部面板使用gc.gridy = 1

最新更新