PDA

Visualizza la versione completa : [JAVA] Inserire righe in una JTable


Gemini79
18-01-2006, 17:58
Salve, ho un problema con la JTable.

All'interno della mia interfaccia grafica io creo una tabella con 1 sola riga.
In seguito a degli eventi dovrei aggiungere dei dati alla rabella, quindi delle altre righe, ma non riesco a farlo.
Il programma vuole il numero di righe impostato al momento dell'inizializzazione della tabella.Come fare?
Spero di essere stata chiara.
Grazie

LeleFT
18-01-2006, 19:48
Devi innanzitutto creare un TableModel.
Questo TableModel prevede alcuni metodi da implementare, tra cui addRows().

Tale metodo va implementato in questo modo:


public void addRow(Object riga) {
... // Aggiungi il dato alla tua "lista di dati" interna
fireTableRowsInserted(pos1, pos2);
}

Il metodo fireTableRowsInserted() serve a notificare tutti gli opportuni ascoltatori che la tabella č stata variata con l'aggiunta delle righe dalla posizione pos1 alla posizione pos2 (che nel tuo caso saranno entrambi uguali all'ultima posizione).

Infine setti come TableModel della tabella questo nuovo TableModel:


TuoTableModel model = new TuoTableModel();
JTable t = new JTable( model );

e per aggiungere una riga, utilizzi il metodo appena scritto, in questo modo:


model.addRow( <tua_riga> );

La cosa non č semplice, vista cosė, per questo ti consiglio di seguire attentamente il tutorial messo a disposizione della Sun sull'utilizzo delle JTable: lo trovi qui (http://java.sun.com/docs/books/tutorial/uiswing/components/table.html)


Ciao. :ciauz:

Loading