Java swing gridbaglayout未完全填充一行

Java swing gridbaglayout未完全填充一行,java,swing,combobox,jpanel,jscrollpane,Java,Swing,Combobox,Jpanel,Jscrollpane,我有一个面板,它使用GridbagLayout显示来放置3个对象:按钮、组合框和滚动窗格。我希望按钮和组合框位于同一行第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;

我有一个面板,它使用GridbagLayout显示来放置3个对象:按钮、组合框和滚动窗格。我希望按钮和组合框位于同一行第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);
但是,这只会使滚动窗格占据底部行的第一列,因此它始终与组合框对齐。如何使它占据整个底部行,而不仅仅是第一列?如果有帮助,愿意尝试不同的布局。我的想法是创建一个只包含滚动窗格的新面板,并将其添加到当前面板中,但如果有其他选择,我宁愿不这样做

这是当前的面板

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

您需要设置gridwidth=2以有效设置描述的列跨度