Gerando animação com java

Galera eu tenho uma sequencia de imagens e gostaria de fazer uma animação delas … e no final possibilitar que o usuario salve essa animação em sua maquina. Como posso fazer isso?

Obrigado

Paulo

Pra fazer a animação, vc pode usar o repaint a cada nova figura…

ja, pra salvar a figura final… acho dificil… algo tipo um print screen poderia resolver…

[]'s

Salvar não sei como fazer, mas pra fazer a animação olhe o código abaixo, tinha uma bola se movendo junto, mas tirei para o codigo ficar menor, por isso dos nomes terem “Bola” também…
7 figuras fazendo a animação…

[code]import java.awt.;
import java.awt.event.
;

//Java extension packages
import javax.swing.*;

public class PainelFigura extends JPanel implements ActionListener {

protected ImageIcon imagens[];      
protected int totalImagens =6 ,imagemAtual = 0;              
protected String imagem = "Frame_";  
protected Timer timer;  

public PainelFigura(){
	inicializar();
	this.start(); 
}
protected void inicializar(){
	imagens = new ImageIcon[ totalImagens ];
	for ( int count = 0; count < imagens.length; ++count )
		imagens[ count ] = new ImageIcon( getClass().getResource(
				"images/" + imagem + count + ".gif" ) );
	}

public void paintComponent( Graphics g ){
	super.paintComponent( g );
	imagens[ imagemAtual ].paintIcon( this, g, 0, 0 );
	imagemAtual = ( imagemAtual + 1 ) % totalImagens;
}
public void actionPerformed( ActionEvent actionEvent )	{
	repaint();  
}
public void start()	{
	if ( timer == null ) {
		imagemAtual = 0;  
		timer = new Timer( 50, this );
		timer.start();
	}
	else  
		if ( ! timer.isRunning() )
			timer.restart();
}
public Dimension getPreferredSize()
{
	return new Dimension( 200, 200 );
}

}[/code]

[code]import javax.swing.;
import java.awt.
;

class BolaFigura extends JFrame {

PainelFigura painel2;
public BolaFigura() {

super();
painel2 = new PainelFigura();

JPanel contentPane = new JPanel();
JPanel contentPane1 = new JPanel();
contentPane1.add(painel2, BorderLayout.CENTER);
contentPane.setLayout(new BorderLayout());
contentPane.setPreferredSize(new Dimension(510, 530));
contentPane.add(contentPane1, BorderLayout.NORTH);
setContentPane(contentPane);

}

public static void main(String[] args) {
BolaFigura bolaFigura = new BolaFigura();
bolaFigura.setSize(250,250);
bolaFigura.setVisible(true);
bolaFigura.setLocation(150,0);
}
}[/code]