private void updateColWidths()
{
try
{
TableColumnModel columnModel = table1.getColumnModel();
for (int col = 0; col < table1.getColumnCount(); col ++)
{
int colWidth = 0;
for (int row = 0; row < table1.getRowCount(); row ++)
{
Component comp = table1.prepareRenderer(table1.getCellRenderer(row, col), row, col);
colWidth = Math.max(colWidth, comp.getPreferredSize().width);
}
TableColumn column = columnModel.getColumn(col);
TableCellRenderer headerRenderer = column.getHeaderRenderer();
if (headerRenderer == null) {
headerRenderer = table1.getTableHeader().getDefaultRenderer();
}
Object headerValue = column.getHeaderValue();
Component headerComp = headerRenderer.getTableCellRendererComponent(table1, headerValue, false, false, 0, col);
colWidth = Math.max(colWidth, headerComp.getPreferredSize().width);
column.setPreferredWidth(colWidth);
}
}
catch(ClassCastException e) {}
}