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

3 respostas
Alan_Cristensen

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???

3 Respostas

G

Thread.sleep(int milissegundos)?

:smiley:

emanuelCruz

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();
	}

}
Alan_Cristensen
emanuelCruz:
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();
	}

}

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...

Criado 9 de junho de 2011
Ultima resposta 9 de jun. de 2011
Respostas 3
Participantes 3