Quote Originariamente inviata da roquentin Visualizza il messaggio
P.S. il repaint(); mi serve perchè questa parte di codice si trova all'interno dell'actioperformed di un Jbutton che mi aggiorna l'immagine
No, ripeto che repaint() non ti serve. setIcon "sa" già chiedere il repaint. In generale ai componenti Swing non serve chiedere esplicitamente repaint. Hanno tutta la logica per sapere se/come/dove/quando fare un repaint della loro superficie.

Piuttosto dovresti preoccuparti di una cosa più rilevante: quando ImageIcon carica da url, utilizza dietro le quinte la API del Toolkit, in modo specifico il suo getImage(). Che però sfrutta un meccanismo di "caching", cioè a parità di url, ti restituisce sempre lo stesso oggetto Image. Quindi attenzione a quanti url presumi vengano gestiti!

Quote Originariamente inviata da roquentin Visualizza il messaggio
Ora me li visualizza sull'immagine ma non riesco a posizionarli, come posso fare?
JLabel non ha layout-manager (=posizionamento assoluto). Devi quindi dare i bounds ai componenti che hanno quel JLabel come parente strutturale.