You'd must set the row
height manually, or embed a
TableModelListener to re-calculate it upon modification.
public class RowResizer implements TableModelListener
{
private JTable table;
private int height;
public RowResizer(JTable table) {
this.table = table;
this.height = table.getRowHeight();
}
@Override
public void tableChanged(TableModelEvent e) {
int i;
for (i = 0; i < table.getRowCount(); ++i) {
TableCellRenderer renderer = table.getCellRenderer(0, 0);
Component component = table.prepareRenderer(renderer, 0, 0);
height = Math.max(height, (component.getPreferredSize()).height);
}
table.setRowHeight(height);
}
}
table = new JTable();
model = (DefaultTableModel) table.getModel();
model.addTableModelListener(new RowResizer(table));
https://web.archive.org/web/20121022...RowHeight.html