设置宽度后消除JTable中的空白空格

时间:2017-12-04 21:19:33

标签: java swing user-interface jtable

我正在尝试用Java设置表的大小。

query = client.query('...')
rows = query.result()
for row in rows:
    row_json = dict(row.items())

表格位于我的框架中的正确位置,但最后一列右侧有这个不必要的空白区域。 这就是我得到的:

enter image description here

我只想消除第一个名称列右侧的空白空格。

请不要锁定这个问题,有一个类似的问题,但它没有任何对我有任何帮助的信息。

1 个答案:

答案 0 :(得分:0)

JTable具有预定义的首选大小。

您可以通过执行以下操作重置此功能:

JTable table = new JTable(5, 2);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
table.getColumnModel().getColumn(0).setPreferredWidth(120);
table.getColumnModel().getColumn(1).setPreferredWidth(100);
table.setPreferredScrollableViewportSize(table.getPreferredSize());

现在宽度将是列的宽度,但当然高度也是所有行的高度。

但是如果使用BorderLayout.LINE_START作为约束将滚动窗格添加到框架中,那么将保留表格的宽度,并且高度将随着框架的高度而变化。