Ok, allora prendiamo questo per buono. Cioè se è così che va fatto, allora vediamo di ragionare in tal senso!Originariamente inviato da Darkobra
Per rispondere alla tua domanda, mi è stato imposto.
Vabbé ... prendiamo per buono anche questo.Originariamente inviato da Darkobra
Anche senza che durante il corso si sia accennato a cosa voglia dire thread-safe, e cosa sia una classe synchronized.
Grazie di cuore.Originariamente inviato da Darkobra
ho capito cosa intendi
il tuo post è manna dal cielo e ti ringrazio moltissimo! Avevo visto il tuo sito di esempi, sappi che ti stimo molto per l'aiuto che da
Sì, il table model "espone" queste informazioni come "ho n colonne", "ho m righe", "la colonna x si chiama così", ecc... JTable è il primo che usa appunto queste informazioni per strutturare visivamente la tabella.Originariamente inviato da Darkobra
CREDO di aver capito che quando passo un TableModel a JTable lui utilizzi i metodi getValueAt, getRowCount, getColumnCount ecc. per creare e popolare la Tabella. E fin qui ci siamo.
Sì, quando l'utente ha terminato/confermato l'editing (in genere con un invio, es. su un editor che è un text-field), allora alla fine JTable invoca setValueAt per impostare il valore nel model.Originariamente inviato da Darkobra
A questo punto mettiamo che l'utente clicchi su una cella editabile e scriva qualcosa. JTable cosa fa? Richiama setValueAt()?
Se la modifica era originata da un editor, la cella è già (come caso particolare) aggiornata quando il setValueAt viene invocato ma se il setValueAt viene invocato programmaticamente da te in qualunque altro contesto allora no, la cella è da aggiornare. Comunque il table model non "sa" chi lo sta invocando e da dove arriva il valore. Ecco perché comunque il table model deve notificare i listener.
Sì, esatto. TableModelEvent con i suoi campi può descrivere svariate cose: cambiamento di una cella, di una o più righe, ecc...Originariamente inviato da Darkobra
E quindi poi giustamente tu dici che io devo crearmi un TableModelEvent e notificarlo a tutti i listener, sarà questo a dire in qualche modo a JTable di ricaricarsi e rileggere la struttura perché è cambiata (anche del tutto, non solo la cella editabile)?
Guarda la documentazione javadoc di TableModelEvent, all'inizio c'è un pezzo di codice vari tipi di chiamate al costruttore.
No prob, capisco.Originariamente inviato da Darkobra
Scusa per le tante domande, ma la differenza tra argomenti del corso e argomenti del progetto è tanta che ci sentiamo pesci in una vasca di squali.

Rispondi quotando