Ciao a tutti!

Ho una classe che lavora con Swing.
Ho allineato 4 label e vorrei farle visualizzare in sequenza, tipo così:
f f f f (t=0)
v f f f (t=1)
f v f f (t=2)
f f v f (t=3)
f f f v (t=4)
Dove v e f indicano la visibilità della label e t il tempo.

Le ho messe in un array e poi ho creato un ciclo:

for(...){
arrLabel[i].setVisible(true);
Thread.sleep(200);
arrLabel[i].setVisible(false);
}

Ho provato a sfruttare Thread.sleep(tempo) ma non funziona. Il codice su swing viene eseguito solo alla fine del ciclo. Ho letto che swing si gestisce a modo suo i thread, ma non ne so di più. Come posso fare ad ottenere il risultato voluto?

Grazie!