How about setting the width of the column in your cell renderer
i.e.
public Component getTableCellRendererComponent(
JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column )
{
TableColumn col = table.getColumnModel().getColumn(column);
// if the preferred size of the renderer is > col.getWidth
if (renderer.getPreferredSize().width > col.getWidth() ) {
col.setPreferredWidth(renderer.getPreferredSize().width;
}
}