Originariamente inviato da lio.b
Ok, l'unica cosa su cui non concordo è l'uso di un vector riparatore.
Perchè se devi aggiungere un'immagine enorme può capitare che il thread scrittore, a metà esecuzione viene schedulato e quindi il lettore troverà un'immagine incompleta. Ecco perchè usare i lock, correggimi se sbaglio
No alt. Allora seguimi bene.

Innanzitutto sono andato a controllare, giusto per sicurezza. ImageIcon usa il Toolkit di AWT per caricare la immagine (e questo lo sapevo) ma poi ImageIcon ne fa il "tracking" per attendere che la immagine sia completa. Quindi quando fai new ImageIcon(....) il costruttore impiega tutto il tempo che serve per caricare in modo completo la immagine. E quando ritorna, l'oggetto ImageIcon che ottieni è "completo" come immagine.

Come ti ho già detto, nella lista vengono aggiunti solo dei "reference" agli oggetti, quindi non centra cosa/quanto contiene l'oggetto.