Originariamente inviato da Dreamer89
ci sto capendo ben poco con Lock e Condition
Sono argomenti abbastanza "avanzati".

Originariamente inviato da Dreamer89
non riesco a capire a cosa serve invokeLater
Serve per far eseguire il codice del run() (del Runnable) nel contesto del EDT, event-dispatch-thread. L'architettura di Swing non è thread-safe. Salvo pochi casi peraltro ben documentati, agire sui componenti di una interfaccia utente Swing (settare proprietà di componenti, layout ecc...) va fatto solo nel contesto del EDT.

Originariamente inviato da Dreamer89
mi funziona bene sia usando questo metodo, sia senza... perchè usarlo allora?
Perché se non lo usi sei in balia della "fortuna" ... potrebbe funzionare ma in presenza di tempistiche dei thread un pochino "sfortunate" potresti causare casini ...