Ajusta automáticamente la columna Jtable para ajustar el contenido

Estoy intentando hacer coincidir el ancho de columna de JTable en función de los datos que contiene. Mi código:

    for(int column = 0; column < gui.testsuiteInfoTable.getColumnCount(); column ++){
        int  width =0;
    for (int row = 0; row < gui.testsuiteInfoTable.getRowCount(); row++) {
         TableCellRenderer renderer = gui.testsuiteInfoTable.getCellRenderer(row, column);
         Component comp = gui.testsuiteInfoTable.prepareRenderer(renderer, row, column);
         width = Math.max (comp.getPreferredSize().width, width);
         System.out.println(width);
     }
    TableColumn col = new TableColumn();
    col = gui.testsuiteInfoTable.getColumnModel().getColumn(column);
    System.out.println(width);
    col.setWidth(width);
    gui.testsuiteInfoTable.revalidate();

    }
}

¡Los tamaños son correctos, supongo, pero las columnas de la tabla aún tienen el mismo ancho! La tabla está incrustada en un ScrollPane en un GridBagLayout, ¿ese es el problema? Gracias por cualquier sugerencia.

Respuestas a la pregunta(3)

Su respuesta a la pregunta