使用GridBagLayout修剪JTable下面的列空间

时间:2017-06-16 14:14:19

标签: java swing layout-manager gridbaglayout

我的桌子下面有两个按钮。但是一个按钮几乎占据了我桌子的所有空间。我想修剪两个按钮之间的列空格。将Case添加到我的左侧按钮不会向右推。

weight.x = 1

输出: SC

2 个答案:

答案 0 :(得分:3)

与保存JTable的JScrollPane一起使用的GridBagConstraints应将其gridwidth属性设置为2,以允许JTable占用两列,而其他所有内容应使用1的网格宽度。

gbc.anchor = GridBagConstraints.FIRST_LINE_START;
gbc.insets = new Insets(20, 10, 0, 0);
gbc.gridx = 0;
gbc.gridy = 0;
gbc.gridwidth = 2;  // ****** add
JTable tbl = new JTable();

// .....

gbc.gridwidth = 1;  // ****** add

注意:我经常为我添加的每个项目创建一个新的GridBagConstraint对象(除非我添加一个真正的项目网格),或者使用实用工具方法创建一个,以便避免财产传播错误。

答案 1 :(得分:0)

您应该将gbc.anchor更改为GridBagConstraints.LINE_END。这会将“添加”按钮放在“删除”按钮旁边......