static void setTableModel(JTable table, TableModel model) { Map widths = tableColumnWidthsByName(table); int i = table.getSelectedRow(); table.setModel(model); if (i >= 0 && i < model.getRowCount()) table.setRowSelectionInterval(i, i); tableSetColumnPreferredWidths(table, widths); }