Non è che vi voglia un'arca di scienza per capire cosa succede:
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);
	}
Perchè richiami il remove di "rowToDelete+1" ?