public DummySelectionModel(SortedTableModel sortedModel) { this.sortedModel = sortedModel; sortedModel .getModel() .addTableModelListener( new TableModelListener() { @Override public void tableChanged(TableModelEvent e) { if (e.getType() == TableModelEvent.DELETE) { // System.err.println("DELETE event : " + e.getFirstRow() + "-" + // e.getLastRow() + ": first row select status = " + // delegate.isSelectedIndex(e.getFirstRow())); delegate.removeIndexInterval(e.getFirstRow(), e.getLastRow()); } else if (e.getType() == TableModelEvent.INSERT) { delegate.insertIndexInterval( e.getFirstRow(), e.getLastRow() - e.getFirstRow() + 1, true); } } }); }