I aí pessoal do fórum, tudo bem aí com todo mundo?!
Estou com um problema aqui. Fiz uma minuscula aplicaçãzinha utilizando JAVA, Swing e XML cuja finalidade é simular um labirinto.
Eu coloquei vários JPanels para simular os quadradinhos do labirinto e pintar onde o personagem pode passar ou não.
O problema é que quando eu mando ele ir do início do labirinto até o final, pintando os quadrados por onde ele vai passando, eu utilizo um for para isso, eu uso um delay. Mas ele não vai pintando de um a um. Ele trava a aplicação durante o delay, e depois já aparece na última posição.
Esse meu for está no main da aplicação, e dentro dele eu coloco Thread.sleep(1000);
for (condição) {
shapeAtual.pintar("branco");
shape = null;
shape = new JPanel();
shape = shapeAtual.next();
shape.pintar("azul");
Thread.sleep(500);
}
Como eu disse, ele trava a aplicação durante o for, e depois disso ele volta mais o objeto já está no final do labirinto.
Minha dúvida é como fazer esse delay e ele ir mostrando e dando repaint por onde vai passando, de forma que o usuário possa ver cada um dos quadradinhos sendo pintando.
Pessoal, acho que minha dúvida é básica. Mais eu não estou achando uma forma de corrigir esse meu erro. Já procurei no google algumas soluções, mas acaba travando do mesmo jeito.
Se puderem me ajudar, ficarei muito agradecido.
Atenciosamente,
Júnior
.
