Delay

Galera, estou enfrentando um problema com delay no meu código.
Estou implementando um jogo da memória. Eu tenho que mostrar a imagem ao clik do mouse, guardá-la e comparar com o proximo clik, fazer um teste se as imagens são iguais e se não forem, esconder as duas imagens. Só que quando eu clico na segunda imagem, ela mostra tão rápido que não dá pra ver.

if (jogada == 2) { if (but1 == but2) { resetarImagens(but1, but2); but1 = -1; but2 = -1; jogada = 0; } else if (botao[but1].getIcon() != botao[but2].getIcon()) { //teria que ter um delay nessa linha para conseguir ver segunda imagem resetarImagens(but1, but2); but1 = -1; but2 = -1; jogada = 0; } else { botao[but1].setEnabled(false); botao[but2].setEnabled(false); fim +=2; but1 = -1; but2 = -1; jogada = 0; } }

na linha que você quer o delay coloque um

try{
Thread.sleep(1000);
catch(InterruptedException ie){}

apenas tome o cuidado de colocar isso na linha certa (depois de a imagem ser apresentada e antes dela ser escondida, acredito que onde você colocou o comentario).

1000 é um tempo em milisegundos,você pode mudar pro tempo que você quiser.

não se preocupe com essa excessão, ela significa que algo interrompeu essa espera da thread corrente, só te implicaria em a imagem sumir antes do tempo mas dificilmente isso vai acontecer…

confirme ai se funcionou :wink:

Esse código eu ja tentei mas não funciona. Não importa em que parte do código eu coloque essa exceção, o delay ocorre antes de aparecer a segunda imagem e quando acaba o delay as duas imagens mudam. Eu posso colocar todo o código aqui para alguem testar e ver como está acontecendo.