void () { int selected = myTable.getSelectedRow(); if (selected < 1) { return; } MigrationMapEntry entry = myMigrationMap.getEntryAt(selected); MigrationMapEntry previousEntry = myMigrationMap.getEntryAt(selected - 1); myMigrationMap.setEntryAt(previousEntry, selected); myMigrationMap.setEntryAt(entry, selected - 1); AbstractTableModel model = (AbstractTableModel)myTable.getModel(); model.fireTableRowsUpdated(selected - 1, selected); myTable.setRowSelectionInterval(selected - 1, selected - 1); }