|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Jul 2008
Messaggi: 10
|
[JAVA]Cancellare righe di una JTable
Salve ho un problemino.
Ho una tabella e alla pressione di un bottone vorrei che nella tabella vengano cancellate tutte le righe. Ho scritto questo codice: private void svuotaTabella(){ DefaultTableModel model=(DefaultTableModel) tblStanze.getModel(); System.out.println(tblStanze.getRowCount()); for(int h=0;h<tblStanze.getRowCount();h++) model.removeRow(h); } Funziona,ma la cosa curiosa è che le righe di numero pari non le cancella,le altre si. Grazie in anticipo per l'aiuto. |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Sep 2008
Città: Milano
Messaggi: 126
|
Il problema risiede nel fatto che cancellare una riga (azione che puoi vedere come l'eliminazione di un elemento da una lista ordinata) implica come effetto collaterale che la lunghezza della lista diminuisca di un'unità e che ci sia uno scivolamento verso la testa (quindi verso la riga di indice zero) di tutti gli elementi a valle dell'elemento rimosso.
In effetti a ogni iterazione il tuo contatore aumenta di uno (va verso gli indici "in coda") mentre i tuoi elementi scivolano di uno verso la testa: ciò produce come risultato che venga effettivamente rimosso un elemento si e uno no. se provi a simulare 3-4 passi su carta è immediato da capire. la soluzione è iterare al contrario (dall'elemento di indice massimo verso quello di indice zero) ciao! british |
|
|
|
|
|
#4 |
|
Junior Member
Iscritto dal: Jul 2008
Messaggi: 10
|
Grazie mille delle risposte...si ho capito adesso il motivo...grazie del chiarimento...ma per brevità ho usato al soluzione di PGI-Bis...
grazie ancora...=)... |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:03.



















