2014-10-30 79 views
1

我有一个使用GridbagLayout显示放置3个对象的面板:一个按钮,一个组合框和一个scrollPane。我希望按钮和组合框位于同一行(第0行)并占据整行。这是我如何将它们放置在面板:Java swing gridbaglayout没有完全填充一行

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); 

然而,这不仅使滚动面板占据底部行的第一列,所以它总是与组合框对齐。我如何使它占据整个底部行而不仅仅是第一列?愿意尝试不同的布局,如果这将有所帮助。这个想法我是创建一个只包含滚动面板,并添加到当前面板新面板,但我更愿意这样做,如果有另一种

这是当前面板

Image of the current panel

回答

4

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

+0

哇“很简单”,谢谢 – smac89 2014-10-30 02:00:23