Animação

Tenho um seguinte código e queria animar os retângulos.
Alguém tem noção de animação:

[code] public void paint(Graphics g)
{
int control = 36;

	Graphics2D g2 = (Graphics2D) g;
	g2.setColor(Color.BLACK);
	g2.drawRect(9, 35, 280, 105);
	
	g2.setColor(Color.GRAY);
	g2.setFont(new Font("Verdana", Font.BOLD, 11));
	g2.drawString(text, 35, 70);
	
	g2.setColor(Color.BLUE);
	
	for ( int x = 36; x < 263; x += 12 )
	{
		g2.fillRoundRect(x, 105, 9, 15, 5, 5);
	}
}[/code]

O resultado:

Qq ajuda é bem vinda, obrigado.
Abraçosss.

Olha, pra fazer uma animação vc precisa saber um pouco sobre Threads.

http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Thread.html

Este exemplo que fiz mostra a animação de uma bola na tela.

Adapte a função paintComponent pra fazer o que vc deseja.


import java.awt.*;
import javax.swing.*;

public class PainelBola extends JPanel implements Runnable
{
 private Thread t1;
 
 int xPosicao = 5;
 int xMovimento = 4;

 public void playAnimacao()
 {
  if (t1 == null)
  {
   t1 = new Thread(this);
   t1.start();
  }
 }

 public void stopAnimacao()
 {
  if (t1 != null)
   t1 = null;
 }

 public void run()
 {
  Thread tAtual = Thread.currentThread();
  
  while (t1 == tAtual)
  {
   xPosicao += xMovimento;
   
   if ((xPosicao > 145) | (xPosicao < 5))
    xMovimento *= -1;
    
   repaint();
   
   try
   {
    Thread.sleep(100);
   } catch (InterruptedException e) { }
  }
  
 }

 public void paintComponent(Graphics tela)
 {
  tela.setColor(Color.black);
  tela.fillRect(0, 0, 120, 100);
  tela.setColor(Color.white);
  tela.fillRect(120, 0, 120, 100);
  tela.setColor(Color.red);
  tela.fillOval(xPosicao, 5, 90, 90);
 }
}

Valeu Cristiano.
Fiz e ficou perfeito. Muito show, obrigado.

Abraçoss
:slight_smile: