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
