我正在尝试调整JTable列的大小,而不会影响表中的其余列,但每次尝试执行此操作时,所有其他列也会更改大小:
final JTableHeader header = (JTableHeader) e.getSource();
header.getTable().setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
TableColumn column = header.getColumnModel().getColumn(3);
for (int col = 0; col < header.getColumnModel().getColumnCount() ; col++) {
if (col == column.getIndex()) {
header.getColumnModel().getColumn(col).setPreferredWidth(header.getColumnModel().getColumn(col).getPreferredWidth()+100);
break;
}
}
columnModel.getTable().doLayout();
答案 0 :(得分:1)
如果您只想更改一个列的大小,则无需执行如此长的过程。您可以在一行中执行此操作,如:
table.getColumnModel().getColumn(3).setPreferredWidth(table.getColumnModel().getColumn(3).getPreferredWidth()+100);