Java swing gridbaglayout完全没有填充一行

时间:2014-10-30 01:52:44

标签: java swing combobox jpanel jscrollpane

我有一个使用GridbagLayout显示放置3个对象的面板:按钮,组合框和scrollPane。我希望按钮和组合框位于同一行(第0行)并占据整行。这就是我将它们放在面板中的方式:

GridBagConstraints gc = new GridBagConstraints();
gc.fill = GridBagConstraints.BOTH;
gc.insets.set(10, 0, 10, 10);
add(comboBox, gc);
gc.gridx = 1;
gc.weightx = 1;
gc.insets.set(10, 0, 10, 0);
add(okButton, gc);

现在我希望滚动窗格占据整个底行(第1行)。这就是我所做的:

gc.gridx = 0;
gc.gridy = 1;
gc.weighty = 1;
//gc.insets.set(0, 0, 0, 0);
add(scrollPane, gc);

但是这只会使滚动窗格占据底行的第一列,因此它始终与组合框对齐。如何使它占据整个底行而不仅仅是第一列?愿意尝试不同的布局,如果这将有所帮助。我的想法是创建一个只包含scrollPane的新面板并将其添加到当前面板,但如果有替代方法,我宁愿不这样做

这是当前面板

Image of the current panel

1 个答案:

答案 0 :(得分:4)

您需要设置gridwidth= 2以有效设置描述的列范围。