Devi:Originariamente inviato da il pupo
codice:int numerorighe=jTableRicerca.getRowCount(); System.out.println(numerorighe); if(numerorighe>0){ int j=0; while(numerorighe>j){ System.out.println("righe "+numerorighe); System.out.println("j: "+j); model.removeRow(j); j++; } }
a) Partire ad eliminare dal fondo (dall'ultimo indice esistente).
oppure
b) Partire dal indice 0 ma facendo un loop in cui la condizione testi effettivamente il row-count reale (non una variabile preimpostata come sopra).
In generale sarebbe meglio la soluzione a) per questioni di efficienza. Dentro il model c'è una struttura dati che tipicamente è un List (es. ArrayList o Vector) ed è preferibile eliminare dal fondo (altrimenti la collezione deve spostare indietro di 1 posizione tutti gli elementi successivi!).
Tra l'altro, dal momento che usi un DefaultTableModel, basterebbe, in questo caso specifico, fare banalmente: model.setRowCount(0);