Mostrando las entradas con la etiqueta mediatraker. Mostrar todas las entradas
Mostrando las entradas con la etiqueta mediatraker. Mostrar todas las entradas

Animacion Relog en Java Con Imagenes

Capturas 





Codigo

package relog03dic09;

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

/**
 *
 * @author Master
 */
public class AnimadorLogo extends JPanel
        implements ActionListener{
    protected ImageIcon imagenes[]; // declaramos un arreglo de imagenes
    protected int totalImagenes=24, //variable de tipo entero ultima imagen
            imagenActual=0, // variable de tipo entero primera imagen
            retardoAnimacion=1500; //1500 milisegundos de retardo
    protected Timer cronoAnimacion; // variable de tipo tiempo
    public AnimadorLogo() // constructor
    {
        setSize(getPreferredSize()); // toma el valor de las dimenciones de la imagen
        imagenes=new ImageIcon[totalImagenes]; // manda una instancia al arreglo de imagenes
        for(int i=0; i<imagenes.length; ++i) // se hace un incremento en i empesando de 0 de 1 en 1 hasta el valor asignado a la variable totalImagenes
            imagenes[i]=
                    new ImageIcon("imgrelog/relog"+i+".gif"); // genera un nombre para la imagen y lo va cambiando dependiendo el valor de i
        iniciaAnimacion(); // manda a llamar el metodo iniciaAnimacion que esta mas abajo
            }
public void paintComponent(Graphics g)
{
        super.paintComponent(g);//inicia los componentes del metodo graphics
if(imagenes[imagenActual].getImageLoadStatus()==MediaTracker.COMPLETE){//va cambiando la imagen
    imagenes[imagenActual].paintIcon(this, g, 0, 0);// imprime la imagen en las cordenandas 0,0
            imagenActual=(imagenActual+1)%totalImagenes;// cuando la imagen llega a la ultima regresa al principio
}


}
public void actionPerformed(ActionEvent e)
{
    repaint();// actualiza la ventana para que no se amontonen las imagenes
}
public void iniciaAnimacion()
{
    if(cronoAnimacion ==null){
        imagenActual=0;
        cronoAnimacion = new Timer(retardoAnimacion, this);
        cronoAnimacion.start();
    }
    else
        if(!cronoAnimacion.isRunning())
            cronoAnimacion.restart();
}
public void terminaAnimacion()
{
    cronoAnimacion.stop();
}
public Dimension getMinimumSize()
{
    return getPreferredSize();
}
public Dimension getPreferedSize()
{
    return new Dimension(500,500);
}
public static void main(String args[])
{
    AnimadorLogo anim = new AnimadorLogo();
    JFrame app = new JFrame("Master Animacion");
    app.getContentPane().add( anim, BorderLayout.CENTER);
    app.addWindowListener(new WindowAdapter(){
        public void windowClosing(WindowEvent e)
        {
            System.exit(0);
        }
    }
    );
    app.setSize ( anim.getPreferredSize().width+58+250,
            anim.getPreferredSize().height+80+250);
    app.show();
}
}
Descargar Proyecto