gif animado en un JFrame java

Technology

gif animado en un JFrame java

bueno hace un tiempo habia realizado un texto dinamico que se mueve en la barra de un JFrame
puedes ver la entrada aqui
http://javayotros.blogspot.com/2015/06/titulo-dinamico-en-barra-de-un-jframe.html
ahora con el mismo codigo tratare de hacerlo moviendo un gif animado dentro de un panel :



para eso lo estructure ordenadamente, para eso creare una carpeta o pakete llamado gif y dentro de ese pakete creare las 2 clases sigueintes:

la 1 clase la llamaremos controlador ahy se encargara de las acciones dentro de esta clase ponemos el siguiente codigo:



package gif;

/**
 *
 * @author andres2288
 */
import java.util.Timer;
import java.util.TimerTask;
import jcMousePanel.jcMousePanel;
public class controlador {
    
     private Timer tiempo;
      private TimerTask task;
          private int indice = 0;
           private int speed = 80;
      jcMousePanel panel=null;     
         public  controlador (jcMousePanel p){
             this.panel=p;
             startAnimation();
         
         }
     

    void animar() {
     ///   this.setTitle(texto().substring(0, i));
        panel.repaint();
    }

    public void startAnimation() {
        tiempo = new Timer();
        task = new TimerTask() {

            @Override
            public void run() {
           
                animar();
            }
        };
        tiempo.schedule(task, 0, speed);
    }
    
}


el valor de 80 es la velocidad de la animacion del gif.
luego crearemos un JFrame llamado vista al crearlo importaremos un jcMousePanel arrastrandolo desde la paleta para eso deben descargar esta libreria pueden encontrarla en internet es facil:

le cambiamos el nombre de la variable le pondremos panel , luego justo despues cuando se inicia la clase public class vista extends javax.swing.JFrame { despues de esta linea agregamos el controlador y lo pondremos null




controlador c=null;


y dentro del constructor lo llamamos y le enviamos el panel asi:



  public vista() {
        initComponents();
       c=new controlador(panel); 
    }


y finalmente agregamos la imagen la pueden descargar aqui:


 esperono se mareen con estas vueltas O_o

Post a Comment

0 Comments