【发布时间】:2017-06-18 06:36:19
【问题描述】:
这里我在面板上使用gridbag 布局来添加 5 个排列成 5 行的组件,我希望它们具有不同的高度 like this 但在这样做之后
public void mainpanel3(){
pupper.setBackground(Color.yellow);
ptable.setBackground(Color.BLACK);
lthird.setOpaque(true);
lthird.setBackground(Color.BLUE);
tffourth.setBackground(Color.GREEN);
pfifth.setBackground(Color.WHITE);
outerp3.setLayout(new GridBagLayout());
GridBagConstraints c=new GridBagConstraints();
c.weightx=0.5;
c.weighty=0.5;
c.fill=GridBagConstraints.BOTH;
c.weightx=0.5;
c.weighty=0.1;
c.ipady=5;
c.gridx=0;
c.gridy=0;
outerp3.add(pupper,c);
c.weightx=0.5;
c.weighty=0.4;
c.ipady=20;
c.gridx=0;
c.gridy=1;
outerp3.add(ptable,c);
c.weightx=0.5;
c.weighty=0.1;
c.ipady=5;
c.gridx=0;
c.gridy=2;
outerp3.add(lthird,c);
c.weightx=0.5;
c.weighty=0.1;
c.ipady=5;
c.gridx=0;
c.gridy=3;
outerp3.add(tffourth,c);
c.weightx=0.5;
c.weighty=0.1;
c.ipady=5;
c.gridx=0;
c.gridy=4;
outerp3.add(pfifth,c);
}
发生这种情况
第五个组件(a panel)白色不显示。
关于这个面板的编码只在这个方法中完成,如果你需要任何其他的代码,请告诉我。
【问题讨论】:
-
所有组件的
weighty值相同。将每个组件分别更改为0.1、0.5、0.1、0.2和0.1,以及gridheight属性
标签: java swing layout-manager gridbaglayout