Voi ragazzi erano così impressionante in me punto nella giusta direzione sulla mia ultima domanda e ho una sorta di prolungamento della mia domanda originale qui:Come mantenere il rendering delle cellule JTable dopo modifica delle cellule
How to set a JTable column as String and sort as Double?
Dato che ora ho la mia colonna di prezzo formattata come $ ###, ## 0.00 usando il mio renderer di celle personalizzato, ora ho impostato anche un editor JTextField per la cella. La modifica della cella funziona bene, tranne quando il valore viene aggiornato, il formato numerico impostato nel mio renderizzatore personalizzato non sembra più formattare la cella (sto perdendo il $ dopo che la modifica è stata commessa). Questo renderizzatore non dovrebbe rendere le celle anche dopo la visualizzazione iniziale dei dati?
ho cercato di utilizzare il seguente senza fortuna:
((AbstractTableModel) table.getModel()).fireTableDataChanged();
Speravo che questo costringerebbe il tavolo al fine di rinnovare e ridisegnare le celle utilizzando il renderer personalizzato per rendere i nuovi valori, ma questo purtroppo non ha funzionato ...
Mi manca qualcosa ... Ovviamente, ma cosa?
+1 ma ho visto che prima non funziona correttamente se si desidera aggiungere, rimuovere o modificare il valore che esiste, Editor ritorna 0.00 :-), avrei dovuto guardare ... – mKorbel
Buon punto. Per l'input della matrice, l'editor restituisce intenzionalmente zero su 'NumberFormatException'; 'cancelCellEditing()' sarebbe un'alternativa più generale. – trashgod
questo è lo stesso per JFormattedTextField o JSpinner come CellEditor, sono sicuro che Rob ha ottenuto ..., lì devi restituire Document, Rob dove sei :-) – mKorbel