Non è che vi voglia un'arca di scienza per capire cosa succede:
Perchè richiami il remove di "rowToDelete+1" ?codice:rm.removeSchedaAt(rv.getTfName().getText(), rv.getTfSurname().getText(), rv.getTfTelephone().getText(), rv.getTfEmail().getText(),(rowToDelete+1)); public void removeSchedaAt(String name,String surname,String telephone,String email, int i){ schede.remove(i); fireTableRowsDeleted(i,i); }