Pausar a execução de um FOR por um tempo

2 respostas
B

Bom galera estou fazendo um trabalho de grafo e precisa de uma pausa dentro do FOR para mostrar na execução o grafo sendo “desenhado”. Se puderam me ajudar agradeço.

for(int i=0;i<ordem.size();i++) for(int j=0; j<this.graph.getVertex().size();j++) if(this.graph.getVertex().get(j).getID() == ordem.get(i) ){ this.graph.getVertex().get(j).setSelected(true); //PRECISO DE UM PAUSA DE 2 SEGUNDOS AQUI }

2 Respostas

TerraSkilll

Como assim o Bat(java)man não sabe a resposta? Estamos perdidos então :smiley: .

Tente assim:

for(int i=0;i<ordem.size();i++) for(int j=0; j<this.graph.getVertex().size();j++) if(this.graph.getVertex().get(j).getID() == ordem.get(i) ){ this.graph.getVertex().get(j).setSelected(true); //PRECISO DE UM PAUSA DE 2 SEGUNDOS AQUI try { Thread.sleep(2000); // 2 segundos = 2000 milissegundos } catch(InterruptedException ex) { Thread.currentThread().interrupt(); } }

Obs: a manipulação de threads (em especial, a de UI) tem uma série de particularidades que podem causar comportamentos estranhos. Verifique, por exemplo, se sua interface não fica travada enquanto o desenho é feito (o que pode ser frustrante para o usuário, que precisará esperar o desenho terminar para voltar a interagir com a aplicação).

Fontes: http://stackoverflow.com/questions/3342651/how-can-i-delay-a-java-program-for-a-few-seconds e http://www.guj.com.br/java/37737-funcao-sleep.

Abraço.

B

Deu certo velho, obrigado abraços.

Criado 22 de outubro de 2014
Ultima resposta 22 de out. de 2014
Respostas 2
Participantes 2