1

我正在尝试调整 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();
4

1 回答 1

1

如果您只想更改一列的大小,则无需执行如此长的过程。您可以在一行中执行此操作,例如:

table.getColumnModel().getColumn(3).setPreferredWidth(table.getColumnModel().getColumn(3).getPreferredWidth()+100);
于 2014-01-20T14:30:47.387 回答