I\'ve tried this:
public void removeSelectedFromTable(JTable from)
{
int[] rows = from.getSelectedRows();
TableModel tm= from.getModel();
while(
That solution works with header sorting and updates automatically the table (i.e.: it is not required to rebuid it).
The "Collecions.sort in reverse order" ennables to avoid IndexOutOfBondException.
private void deleteSelectedRows() {
int[] selectedRows = table.getSelectedRows();
table.clearSelection();
// get model rows
List selectedModelRows = new LinkedList();
for (int i =`enter code here` 0; i < selectedRows.length; i++) {
selectedModelRows.add(table.convertRowIndexToModel(selectedRows[i]));
}
Collections.sort(selectedModelRows, Collections.reverseOrder());
for (int selectedModelRow : selectedModelRows) {
tableModel.removeRow(selectedModelRow);
tableModel.fireTableRowsDeleted(selectedModelRow, selectedModelRow);
}
}