Originariamente inviato da andbin
Hai definito una anonymous class che estende AbstractTableModel e hai fatto l'override di getColumnClass(). Bene. Ma se togli il "tuo" getColumnClass viene ereditato quello già implementato da AbstractTableModel. E sai come è fatto quello di AbstractTableModel??

codice:
    public Class<?> getColumnClass(int columnIndex) {
	return Object.class;
    }
ta-da.... praticamente come il tuo.

Serve a scegliere il "renderer" da usare per la visualizzazione della cella. Lo spiega molto bene qui:
http://java.sun.com/docs/books/tutor...tml#editrender

Vedi isCellEditable() del table model, di cui devi fare l'override. (quello implementato in AbstractTableModel ritorna sempre false indipendentemente da riga/colonna).

Innanzitutto il tuo table model dovrebbe mantenere lo "stato" delle celle. Quindi devi avere una struttura dati "dietro le quinte" e implementare setValueAt() (che nota bene in AbstractTableModel è implementato "vuoto" ... non fa nulla).

In ogni caso il valore di una cella lo puoi avere invocando getValueAt() sia dal JTable, sia direttamente dal table model.
Grazie mille! Comunque a me servirebbe un listener che ogni volta che una tabella viene modificata da un utente cliccando su una cella, dici che addTableModelListener vada bene?