Existe algum metodo para atualizar um JPanel a cada Loop de um laço For?

Ola pessoal, estou com um pequeno probleminha. Estou afim de fazer uma animaçao no java, porem nao da certo. Minha logica é o seguinte.
Fiz uma tela com um JPanel de tamanho ja definido, porem quando o usuario clicar em um botao que tambem esta na janela, ira atualizar o tamanho do JPanel. Porem esta atualizaçao de tamanho esta em um Loop do laço For junto com um sleep(). O efeito que eu quero criar é parecido aos efeitos do JQuery, quando voce clica em um determinado item, uma janela se abre dando um efeito bem legal. O trecho do codigo que estou usando é assim:

for (int linha = 0; linha < 200; linha++)
{
      panel2.setBounds(32,74,117,linha);
      try
      {
           tempo.sleep(500); //o objeto tem ja esta criado em uma outra parte do codigo
      }
      catch(Exception error){}
}

O problema pessoal, é que na tela do sistema so mostra o resultado final, e nao atualizar o panel a cada laço do For para aparecer o efeito legalzinho. Pensei que o problema fosse a velocidade do laço que era muito rapida e eu nao conseguia visualizar, porem quando eu clico no botao que gera o evento citado acima, o sistema trava(provavelmente executando o For) e depois volta apenas com o resultado final. ja tentei usar o metodo repaint() ou entao o metodo revalidate(). porem nenhum funciona, ja pesquisei na net e nao axo. Se alguem tiver uma ideia, por favor me responda.

Obrigado.

Se voce quer fazer uma animação, deveria fazer isso dentro de um JPanel desenhando no Graphics que o paintComponente te passa.

O que acontece no seu caso, é que a UIThread só vai ser atualizada assim que seu laço terminar.

[quote=Marky.Vasconcelos]Se voce quer fazer uma animação, deveria fazer isso dentro de um JPanel desenhando no Graphics que o paintComponente te passa.

O que acontece no seu caso, é que a UIThread só vai ser atualizada assim que seu laço terminar.[/quote]

Ola Marky, blz, eu entendi que nao da pra fazer do jeito que tava pensando. Voce citou sobre o paintComponet. So tem um probleminha, estou começando agora em java e nao sei como faz ou pra que serve esse metodo. Poderia me passar um exemplo, por favor. Estou fazendo um projeto teste aqui e tava querendo colocar esse efeito legal nas janelas.

Obrigado

http://www.guj.com.br/java/128713-jframe-com-imagem-em-fade#1165351

No caso do JPanel, simplesmente use o paintComponent no lugar do paint. Mas a lógica geral é a mesma.
Se quiser saber mais de Java2D, leia os tutoriais do Ponto V!
http://www.pontov.com.br/site/index.php/java

[quote=ViniGodoy]http://www.guj.com.br/java/128713-jframe-com-imagem-em-fade#1165351

No caso do JPanel, simplesmente use o paintComponent no lugar do paint. Mas a lógica geral é a mesma.
Se quiser saber mais de Java2D, leia os tutoriais do Ponto V!
http://www.pontov.com.br/site/index.php/java[/quote]

Muito Obrigado.