在放置JLabels时,我发现了一个问题,直到现在我还是无法解决。 JLabel是重叠的。
这是有关gridbaglayout的代码的摘录:
c = new GridBagConstraints();
c.gridx = 0;
c.gridy = 0;
c.gridwidth = 3;
c.fill = GridBagConstraints.HORIZONTAL;
c.ipady = 20;
c.weightx = 3;
c.weighty = 1;
c.insets = new Insets(0,5,5,5);
all.add(header, c);
c.gridx = 0;
c.gridy = 1;
c.weightx = 2;
c.weighty = 4;
c.insets = new Insets(5,5,5,5);
all.add(sts, c); //this label overlapped
c.gridx = 1;
c.gridy = 1;
c.weightx = 1;
c.weighty = 5;
c.insets = new Insets(5,5,5,5);
all.add(cl, c); //this label overlapped
提前致谢
最佳答案
网格宽度为3意味着组件将在x网格上占据3个位置,请阅读网格袋布局教程
http://docs.oracle.com/javase/tutorial/uiswing/layout/gridbag.html
您在x0处有第一个组件,它将扩展3列到x2,因此下一个可用的网格位置是x3