Como executar de um em um segundo instruções de um for?

Estou desenvolvendo o jogo um contra cem e preciso apagar labels a cada um segundo , sendo assim coloquei 100 labels em um arrayList e apago (setVisible ==false) as label
com este codigo:::


public void apagar(ArrayList<JLabel> lista){

     JLabel ap = null;
    for(int i = 2; i < 13; i++){

           ap = (lista.get(i));
           ap.setVisible(false);
                             
      }

Então , quero colocar no final do for um segundo de parada , assim as labels serão apagadas a cada um segundo.

Será que terei de usar threads ou Timer , se souberem e tiverem uma dica me ajudem por favor???

Thread.sleep(int milissegundos)?

:smiley:

Eu pausaria thread corrente.


public class LacoComPauseTest {

	public static final int SLEEP_TIME = 1000;
	
	public void apagar(){

		for(int i = 2; i < 13; i++){
			System.out.println("Faz alguma coisa");
			
			try {
				Thread.sleep(SLEEP_TIME);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}

	}
	
	public static void main(String[] args) {
		new LacoComPauseTest().apagar();
	}

}

[quote=emanuelCruz]Eu pausaria thread corrente.

[code]

public class LacoComPauseTest {

public static final int SLEEP_TIME = 1000;

public void apagar(){

	for(int i = 2; i < 13; i++){
		System.out.println("Faz alguma coisa");
		
		try {
			Thread.sleep(SLEEP_TIME);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}

}

public static void main(String[] args) {
	new LacoComPauseTest().apagar();
}

}

[/code][/quote]

Então eu até entendi sua logica , mas sou iniciante em java e não estou entendendo muito o que tu escreveu , para que esta classe ,

e porque de public static void main … no final

Se der tempo da uma explicadinha basica…

DETALHE : meu codigo esta dentro de um frame…