Capturar webcam con VB.NET

¿Que haremos? Crearemos una aplicación en Visual Studio, la cual hará uso de una webcam para capturar el video en frames independientes y depositarlos en memoria para despues mostralos al usuario a través de un picturebox y un Timer para crear la ilusión de movimiento. ¿Porque lo haremos? Porque es justo y necesario ¿Que necesitamos? [...]

Envío de correo con JavaMail/Netbeans

JavaMail es una expansión de Java que facilita el envío y recepción de e-mail desde código java. JavaMail implementa el protocolo SMTP (Simple Mail Transfer Protocol) así como los distintos tipos de conexión con servidores de correo -TLS, SSL, autentificación con usuario y password, etc [Según SantaWikipedia] ¿Qué necesitamos? JavaMail 1.4.5 Java y Netbeans 6.9 [...]

Proyecto de base de datos Firebird VB

En este proyecto realizaremos una aplicación de base de datos Firebird con el lenguaje de programación de Visual Basic de Microsoft, este proyecto tendrá las funciones básicas de gestión INSERT, DELETE, UPDATE y una interfaz de usuario para utilizarlas. ¿Que necesitamos? Visual Studio 2008 o superior Firebird última versión Firebird ADO.NET Data Provider. Conocimientos básicos [...]

Imprimir imagen con Print

La siguiente clase hace uso de PRINT para imprimir una imagen que se encuentra en un variable de tipo FileInputStream, esta clase a su vez es implementada desde una interfaz que hace fácil su uso, la clase así como todo el proyecto esta comentado. import java.io.File; import javax.print.Doc; import java.io.IOException; import javax.print.DocFlavor; import javax.print.SimpleDoc; import java.io.FileInputStream; [...]

Code Army Bolivia

27/1/10

Instalación de idioma en Joomla

JAN29


Para poder instalar cualquier lenguaje en Joomla puedes bajarte cualquier "paquete de idioma" desde http://community.joomla.org/translations.html,puedes bajarte idiomas tanto para el sitio completo o solo para el panel de control del administrador.


Una ves que tienes el paquete que quieres instalar, debes ingresar al panel de controlde Joomla y busca en el menu Extension - Install/Uninstall.

Joomla te da tres opciones para instalar el idioma.
1. Instalar desde un archivo ZIP
2. Instalar el idioma desde un directorio
3. Instalar desde una URL

Utilizaremos la primea opcion. presiona el boton "examinar" y selecciona el archivo de idioma que bajaste y presiona el boton "Upload File & Install"

te mostrara un mensaje que te indica que el lenguaje se instalo correctamente

Ahora para poder utilizar este nuevo lenguaje, dirigete al menu Extensions - Languaje Manager, y dependiendo el tipo de paqute que instalaste (para el sitio o solo para el admin), te mostrara los idiomas que ya estan instalados.

para poder cambiar de idioma, solo debes seleccionar el lenguaje y presionar en la imagen con forma de estrella (default) ubicada en la parte superior derecha de la pantalla, la pagina se recargara automaticamente y ya tendras listo el nuevo idioma.

continue reading

Instalación de Joomla en servidor local con AppServ

JAN29


Joomla! está calificada como C.M.S o Content Management System, sistema de administración de contenidos, y entre sus principales virtudes permite editar el contenido de un sitio web de manera sencilla. Es una aplicación de código abierto construida mayoritariamente en PHP bajo una licencia GPL. Este administrador de contenidos puede trabajar en Internet o intranets y requiere de una base de datos MySQL, así como, preferiblemente, de un servidor HTTP Apache. 


¿Qué necesitamos?
  • El paquete Joomla, puedes descargarte la ultima version desde su pagina oficial.
  • Un servidor con soporte Apache, PHP y MySQL, en este tutorial utilizaremos AppServer.

Primeros Pasos.
1. Si no tienes AppServer instalado en tu PC, debes instalarlo, aqui tienes una pequeña guia. Caso contrario, salta al paso 2.

2. Crea una nueva base de datos. "miDataBase"  en el servidor AppServer


3. Ingresa a la carpeta donde tienes instalado el AppServer, por defecto es c:/AppServer/www/, y crea una nueva carpeta para el sitio, en este caso la carpeta se llama "MiSitio".
4. Extrae el contenido del paquete que bajaste de Joomla en esa carpeta. Debes tener algo como esto:


Instalación de Joomla.
5. Abre una nueva ventana en el navegador y en la barra de direccion, escribe http://localhost/MiSitio/Administrator/index.php y presiona ENTER

6. Te direcciona al Panel de Instalacion de Joomla
Paso 1 de Joomla: El Idioma, Selecciona el idioma que usaras durante la instalacion y presiona Siguiente


Paso 2 de Joomla: Comprobación previa, en esta pantalla te muestra si el sistema cumple con los requisitos para poder instalar Joomla. Si tienes algun elemento marcado en rojo en la parte superior de la pantalla debe corregirlo, si algún elemento esta marcado en rojo en la parte inferior, aun asi se instalara Joomla en su equipo. Presione Siguiente.

Paso 3 de Joomla: La Licencia, si quiere perder unos minutos en su vida, dese el trabajo de leer ese documento, cuando termine y no esta cansado presione Siguiente.

Paso 4 de Joomla: Configuracion de la Base de Datos, Aqui es donde debe colocar los valores de:
Tipo de Base de Datos: MySQL
Nombre del Servidor: localhost // Porque la instalacion es para trabajo local
Nombre de Usuario: root // o el nombre de usuario con el que usted halla instalado Appserver
Contraseña: Su contraseña de administrador de AppServer
Base de Datos; MiDataBase // o el nombre de la base de datos que halla creado.
Presione Siguiente

Paso 5 de Joomla: Configuración de FTP, como esta es una instalacion solo para local, no nos interesa asi que solo presiona Siguiente.

Paso 6 de Joomla: Configuracion Personal: Aqui debe realizar los siguientes cambios:


Esta opcion es para introduccir datos a su web con Joomla, para ello, Joomla le brinda las siguientes opciones, Si presiona el boton "Instalar los datos de ejemplo predeterminado", Joomla escribira datos ficticios en su base de datos como ejemplo. Aconsejable para novatos, esto ayuda para familiarisarse con el sistema.
Por el contrario, si ya es un usuario intermedio, Joomla le brinda la opcion de cargar datos desde un script SQL.
Por ultimo tiene la opcion de "Instalacion Limpia", para crear su web sin ningun dato.
Ahora haga clic en Siguiente para finalizar la instalación


Paso 7 de Joomla. Finalizacion. Debe tener esta imagen, aqui le indica que la instalacion de Joomla termino con exito.

Para terminar, elimine la carpeta "Installation" y en el panel de instalacion de Joomla, presione Administracion para poder ingresar al panel de Administrador de Joomla.


Ya tiene instalado correctamente Joomla en servidor local, ahora ya puede ingresar comoAdministrador y realizar las configuraciones necesarias.



continue reading

26/1/10

Crear aplicaciones portables con Thinstall

JAN29


Thinstall es un software que permite la creacion de aplicaciones portables en solo tres pasos.
Paso 1; escanea el sistema operativo y crea un registro con todos los archivos existentes en el sistema
Paso 2: el usuario instala el programa que quiere portabilizar
Paso 3; se realiza un segundo escaneo del sistema operativo, el cual detecta los cambios que seproducen en la instalacion del programa y crea los archivos necesarios para crean la aplicacion portable

Programa portable: Esta aplicación de informática puede ser utilizada en cualquier ordenador que posea el Sistema Operativo para el que fue programada sin instalación previa; esto significa que no es necesaria la instalación de bibliotecas o registros adicionales en el sistema para que ejerza su funcionamiento, simplemente se ejecuta desde el dispositivo portable sin necesidad de instalar nada, esto es ideal para ahorrar espacio en Disco duro y para cargar siempre muchas herramientas en nuestro dispositivo ya que por ser portables el peso en MB o en GB bajara notablemente los que nos permitirá mayor capacidad de almacenamiento.


En este pequeño tutorial se explica la forma en que se creo la aplicacion portable del programa "dj decompiler java".
DJ Java Decompiler es un decompilador para Java que reconstruye el código original desde los ficheros binarios combinados CLASS, como aplicaciones Java.
DJ Java Decompiler es capaz de decompilar las aplicaciones Java y binarios más complejos, produciendo un preciso código. DJ Java Decompiler es también un completo editor de Java que usa un sistema gráfico con syntax-coloring.
DJ Java Decompiler es una aplicación "autosuficiente", por lo que no deberás tener instalado Java, Java Virtual Machine, ni ninguna otra SDK de Java.

Descargate el programa portable aqui

continue reading

21/1/10

Captura de pantalla en java

JAN29



Ahora aqui dejo una sencilla clase que permite "capturar" en una imagen cualquier parte de la pantalla utilizando para ello el objeto Robot de java


La clase se llama "capture.java" y esta compuesta por metodos que permiten especificar, el tipo de imagen (JPG, PNG, BMP), las dimensiones de la captura, el lugar donde se guardara la imagen asi como el nombre de la imagen, el metodo principal es captureScreen() el cual utiliza todos los parametros anteriores para poder realizar la captura de pantalla mediante el uso del objeto Robot de java, el codigo se encuentra por demas comentado y es perfectamente entendible.


import java.awt.*;
import java.awt.image.*;
import java.io.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
/**
 * @web http://jc-mouse.blogspot.com/
 * @author Mouse
 */
public class capture {
   private Dimension screenSize ;
   private Point p;   
   private String tipo = "jpg";
   private String path = "c:/";
   
     public void setpath(String f){
        this.path = f;
     }
     
    public void setdimension(Dimension d){
        this.screenSize = d;
    }
    
    public void setpoint(Point p){
            this.p = p;
    }
    
    public void settipo(String t){
        this.tipo = t;
    }   
    
    public capture(){
        //toda la pantalla
        this.screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
        this.p = new Point(0,0);        
        this.tipo = "jpg";
        this.path = "C:/default";    
    }
        
    public void captureScreen()  {        
        try {           
            //crea el area de captura
            Rectangle screenRectangle = new Rectangle(p, screenSize);
            Robot robot = new Robot();
            BufferedImage image = robot.createScreenCapture(screenRectangle);            
            //guarda la imagen en disco
            ImageIO.write(image, tipo, new File(path + "." + tipo));
        } catch (IOException ex) {
            Logger.getLogger(capture.class.getName()).log(Level.SEVERE, null, ex);
        } catch (AWTException ex) {
            Logger.getLogger(capture.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}

Para bajarte el codigo, clic en la imagen, no pesa nada


continue reading

16/1/10

Codigo Cesar: Algoritmo de encriptamiento en vb.net

JAN29



Utilizado, de ahí su nombre, por Julio César para comunicarse con sus oficiales, consiste en sustituir cada letra del mensaje por la que está n posiciones más adelante o atrás en el alfabeto.

Si n = 3, la A se sustituiría por la D, la B por E, la C por la F y así sucesivamente. De este modo, la palabra ABC se transforma en DEF encriptada, siendo n la llave (key) para poder decifrarla.

El proyecto.

1. Crea un nuevo proyecto en vb.net, la interfaz es sencilla y consiste en unos cuantos controles como en la imagen

2. Crea una nueva clase, llamala "Cesar.vb", esta clase estara compuesta por tres funciones, encriptar(), desencriptar() y clean(), esta ultima una funcion privada tiene el trabajo de limpiar el codigo de "retornos de carro" y de "caracteres especiales" que no se encuentren en la tabla predefinida para ello.

El codigo fuente de la clase Cesar.vb

Public Class Cesar

    'almacena todos los caracteres permitidos en el mensaje
    Private Const tabla = "abcdefghijklmnopqrstuvwxyz 0123456789ABCDEFGHIJLKMNOPQRSTUVWXYZ,.-;:_{}[]+*\¿?!¡#$&/()=áéíóúÁÉÍÓÚñÑ" + Chr(13)
    Private resultado As String
    Private i As Integer
    Private pos As Integer

    Function Encriptar(ByVal texto As String, ByVal key As Integer) As String
        resultado = ""
        texto = clean(texto)
        For i = 0 To (texto.Length - 1)
            'buscar la posicion del caracter 
            pos = tabla.IndexOf(texto.Chars(i))
            'realiza el reemplazo de caracteres
            If (pos + key) < tabla.Length Then
                resultado = resultado + tabla.Chars(pos + key)
            Else
                resultado = resultado + tabla.Chars((pos + key) - tabla.Length)
            End If
        Next
        'reconstruye el mensaje con los retornos de carro
        resultado = resultado.Replace("{.13}", vbCrLf)
        Return resultado
    End Function

    Function Desencriptar(ByVal texto As String, ByVal key As Integer) As String
        resultado = ""
        texto = clean(texto)
        For i = 0 To (texto.Length - 1)
            pos = tabla.IndexOf(texto.Chars(i))
            If ((pos - key) < 0) Then
                resultado = resultado + tabla.Chars((pos - key) + tabla.Length)
            Else
                resultado = resultado + tabla.Chars(pos - key)
            End If
        Next
        resultado = resultado.Replace("{.13}", vbCrLf)
        Return resultado
    End Function

    Private Function clean(ByVal t As String) As String
        ' reemplaza el retorno de carro con un simbolo
        t = t.Replace(vbCrLf, "{.13}")
        ' reemplaza los caracteres que no se encuentran en la tabla por un simbolo
        For i = 0 To (t.Length - 1)
            pos = tabla.IndexOf(t.Chars(i))
            If (pos = -1) Then
                t = t.Replace(t.Chars(i), "{.d}")
            End If
        Next
        Return t
    End Function

End Class

Resultado

continue reading

15/1/10

"Hola Mundo" en VB.NET

JAN29



Uno de las primeras cosas que se enseña cuando se empieza un nuevo lenguaje de programacion, es el "Hola Mundo", y claro esta, en VB.NET no puede faltar. Este sencillo paso sirve para familiarizarse con el entorno de programacion.

1. Para crear un nuevo proyecto en VB.NET dirigete al menu "Archivo" - "Nuevo Proyecto", en la ventana que aparece seleccione "Aplicacion para windows" y luego dele un nombre a su aplicacion, ej: HolaMundoapp

VB.NET creara los archivos necesarios para empezar el proyecto. Estos pueden verse en el "Explorador de soluciones" hubicado a la derecha del programa

2.  En la ventana principal de VB.NET se crea un nuevo formulario donde podra añadir objetos, al lado izquierdo se muestra el "cuadro de herramientas", si este no esta visible, solo debe hacercar el cursor hacia la izquierda y este se desplegara automaticamente.



3. Despliega la opciones del cuadro de herramientas "Todos los formularios de windows form" y busca el objeto Label, has un clic sobre el y el cursor cambiara de forma, entonces haga clic dentro el formulario para crear un nuevo objeto


4.  Con el objeto "Label" seleccionado, en la parte inferior derecha del programa, aparece la ventana de "Propiedades", aqui es donde se listan, valga la redundancia, todas las propiedades de los objetos con los que se puede trabajar en VB.NET, busque la propiedad TEXT y coloque el texto "Hola Mundo"

Luego busca la propiedad Font y coloca los valores como en la imagen



5. Para terminar debemos compilar el proyecto, para presiona el boton que se ve abajo



Eso es todo, si seguiste todos los pasos, debes tener algo como esto

continue reading

Reproductor de videos en java: Los controles - 3ra parte

JAN29

TERCERA PARTE
CONTROLES DE REPRODUCCION DE LA API DE JAVA MEDIA FRAMEWORK


En esta tercera parte del video tutorial "Reproductor de videos en java" se introducen los controles de reproduccion PLAY, STOP, MUTE, asi como el control de volumen, todo esto haciendo uso de las herramientas graficas de netbeans.





La clase paneldevideo.java modificada:


import java.awt.Component;
import java.awt.Dimension;
import java.io.IOException;
import java.net.URL;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.media.CannotRealizeException;
import javax.media.Manager;
import javax.media.NoPlayerException;
import javax.media.Player;

/**
 * @web http://jc-mouse.blogspot.com/
 * @author Mouse
 */

//la clase se extiende de un Jpanel para heredar sus atributos
public class paneldevideo extends javax.swing.JPanel{
private Player mediaPlayer;
private Component video;

    //como datos de entrada tenemos
    //URL la url del archivo a reproducir
    //Las dimensiones del contenedor que tendra el reproductor
    public paneldevideo(URL url, Dimension d){
        try {
            // se forzara el uso de componentes  de render ligero
            Manager.setHint(Manager.LIGHTWEIGHT_RENDERER, true);
            mediaPlayer = Manager.createRealizedPlayer(url);
            //ahora se declara un Component adecuado para el uso en una GUI
            video = mediaPlayer.getVisualComponent();
            // añadimos al componente las dimensiones del contenedor            
            video.setSize(d);                        
            add(video);                        
            //control de excepciones            
        } catch (IOException ex) {
            Logger.getLogger(paneldevideo.class.getName()).log(Level.SEVERE, null, ex);
        } catch (NoPlayerException ex) {
            Logger.getLogger(paneldevideo.class.getName()).log(Level.SEVERE, null, ex);
        } catch (CannotRealizeException ex) {
            Logger.getLogger(paneldevideo.class.getName()).log(Level.SEVERE, null, ex);
        }       
    }
    
    //volumen
    public float getvolumen(){
        return mediaPlayer.getGainControl().getLevel();
    }
    //coloca un valor float correspondiente al volumen
    public void setvolumen(float volumen){
        mediaPlayer.getGainControl().setLevel(volumen);
    }
    
    //control de MUTE
    public void MUTE(){
        if(mediaPlayer.getGainControl().getMute())
        {
            mediaPlayer.getGainControl().setMute(false);
        }
        else
        {
            mediaPlayer.getGainControl().setMute(true);
        }      
    }
    
    //controlde PLAY y STOP
    public void STOP(){
        mediaPlayer.stop();
        video.hide();
    }
    
    public void PLAY(){
        mediaPlayer.start();
        video.show();
    }  
}



  1. La Interfaz
  2. Introduccion a la API JMF

continue reading

11/1/10

Reproductor de videos en java: La API JMF - 2da parte

JAN29

SEGUNDA PARTE
INTRODUCCION AL API DE JAVA MEDIA FRAMEWORK

En esta segunda parte se hace una pequeña introduccion al API de Java Media Framework, es aqui donde se creara una nueva clase "paneldevideo.java" la que sera encargada de manejar el API asi como de interactuar con la interfaz.
Por el momento esta clase solo consistira en crear un objeto MediaPlayer especificando la URL de un archivo de video, y su reproduccion sera automatica, los controles de reproduccion se dejaran para mas tarde.


La clase "paneldevideo.java" que se utiliza en este tutorial es:

import java.awt.Component;
import java.awt.Dimension;
import java.io.IOException;
import java.net.URL;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.media.CannotRealizeException;
import javax.media.Manager;
import javax.media.NoPlayerException;
import javax.media.Player;

/**
 * @web http://jc-mouse.blogspot.com/
 * @author Mouse
 */

//la clase se extiende de un Jpanel para heredar sus atributos
public class paneldevideo extends javax.swing.JPanel{
//declarmos la variable como privada
private Player mediaPlayer;
    //como datos de entrada tenemos
    //URL la url del archivo a reproducir
    //Las dimensiones del contenedor que tendra el reproductor
    public paneldevideo(URL url, Dimension d){
        try {
            // se forzara el uso de componentes  de render ligero
            Manager.setHint(Manager.LIGHTWEIGHT_RENDERER, true);
            mediaPlayer = Manager.createRealizedPlayer(url);
            //ahora se declara un Component adecuado para el uso en una GUI
            Component video = mediaPlayer.getVisualComponent();
            // añadimos al componente las dimensiones del contenedor            
            video.setSize(d);
            video.setVisible(true);
            // finalmente se añade al jPanel
            add(video);            
            // el video se reproducira automaticamnte se cree el objeto
            mediaPlayer.start();                       
            //control de excepciones            
        } catch (IOException ex) {
            Logger.getLogger(paneldevideo.class.getName()).log(Level.SEVERE, null, ex);
        } catch (NoPlayerException ex) {
            Logger.getLogger(paneldevideo.class.getName()).log(Level.SEVERE, null, ex);
        } catch (CannotRealizeException ex) {
            Logger.getLogger(paneldevideo.class.getName()).log(Level.SEVERE, null, ex);
        }       
    }
}

continue reading

JFileChooser en java y netbeans

JAN29

La clase JFileChooser proporciona un interfaz de usuario para elegir un fichero de una lista. Un selector de ficheros (filechooser) es un componente que podemos situar en cualquier lugar del GUI (Interfaz Grafica de Usuario) de nuestro programa. La clase JFileChooser hace sencillo traer un diálogo modal que contiene un selector de ficheros.

Crea una interfaz simple en netbeans, esta consistira de un jTextfield donde colocaremos la ruta del archivo selecciondo con el jFileChooser, ademas un jButton el cual invocara la ventana de dialogo.



El codigo que debe contener el jButton1 es este:

Este pedazo de codigo muestra una ventana de dialgo con el titulo por defecto "Abrir", en archivo de tipo, muestra "todos los archivos" y como carpeta de destino muestra el "default" que es mis documentos.


Para personalizar un poco esta ventana, se añade un filtro para restringir archivos a solo TXT, tambien se hara uso de setCurrentDirectory para especificar en que ruta se abrira la venta


el resultado

continue reading

7/1/10

Reproductor de videos en java: La Interfaz - 1ra Parte

JAN29


Cureoseando el API de Java Media Framework que me sirvio para realizar el post "Reproducir video en java", me decidi a realizar una secuencia de videotutoriales donde ire explicando paso a paso como crear un reproductor multimedia con las opciones básicas de reproducción (PLAY, STOP, MUTE, volumen, etc) y al mismo tiempo profundizando un poco mas en el lenguaje java, asi como en el API JMF.
Pero mejor vamos a lo que importa.

PRIMERA PARTE
CREANDO EL PROYECTO Y LA INTERFAZ INICIAL




El proyecto inicial
Nombre de Proyecto: reproductorjava



La interfaz inicial
Esta interfaz es un BETA, solamente trata de mostrar groso modo hacia donde se quiere llegar con el proyecto y asi tener una idea basica para poder comenzar a programar. La misma puede llegar a cambiar a medida de que se vaya avanzando con el proyecto


Que necesitamos
  • El API Java Media Framework, descargatelo de su pagina e instalalo
  • EL IDE elegido para el proyecto es Netbeans 6.0

Tambien puedes pasar por este post para familiarisarte con el codigo de JMF, tambien puedes encontrar buenos tutoriales en la pagina de SUN, pero lastimosamente estan en ingles.

continue reading

5/1/10

Animación con Timer en java y netbeans

JAN29


Se puede realizar animacion en java utilizando el objeto Timer el cual realiza operaciones cada cierto tiempo indicado por un temporizador. En este caso la operacion a realizar sera la de presentar en pantalla una secuencia de imagenes JEPG las cuales simular la animación.

La animación consiste en una japo comiendo, ayudandose de un jSlider se podra tambien acelerar o retardar la secuencia de imagenes




El proyecto consta de un JFrame con la siguiente distribucion de objetos
De una clase, la encargada de la animación animationclass.java, esta clase consiste en extender la propiedad jLabel y de añadirle un Timer, el cual es el encargado de la animacion.

El codigo de la clase animationclass.java es:

import java.awt.Dimension;
import java.util.Timer;
import javax.swing.*;
import java.awt.*;
import java.util.TimerTask;
/**
 * @web http://jc-mouse.blogspot.com/
 * @author Mouse
 */
public class animationclass  extends javax.swing.JLabel {   
    private Timer tiempo ;
    private TimerTask task;
    private int speed = 60;
    private int frame=0;
    boolean run = false;
    
    //se crea el objeto y se redimensiona al tamaño del contenedor
    public animationclass(Dimension d){        
        this.setSize(d);
    }  
    //coloca una imagen en el objeto jlabel
    public void setimage(int n){        
        this.setIcon(new javax.swing.ImageIcon(getClass().getResource("/img/japo_" + n + ".jpg"))); 
    }
    //coloca la velocidad en la variable 
    public void setvelocidad(int v){
        this.speed= v;        
    }
  //para la animacion  
  public void startAnimation() {    
           run=true;
           tiempo = new Timer();
           task = new TimerTask() {               
               public void run() {
                   frame++;                   
                   if (frame<=10){
                        setimage(frame);
                   }
                   else{frame=0;}
               }
           };
           //se inicia la animacion
           System.out.println("Se inicia la animacion");                                             
           tiempo.schedule(task,0,speed); 
    }
    //detiene la animacion
     public void stopAnimation() {        
        tiempo.cancel();
        task.cancel();
        run=false;
        System.out.println("La animacion fue detenida");                                             
    }
}

El funcionamiento de la clase animationclass.java es la de crear un jLabel, otorgarle mediante el constructor el tamaño del contenedor (jPanel) donde se lo colocara, el metodo setimage coloca mediante la propiedad seticon una imagen (de las 10 que se encuentran el package IMG) en el jlabel, el metodo encargado de la animacion es startAnimation(), el cual crea el timer correspondiente el cual ira incrementado la variable frame y hara un llamado al metodo setimage(), para actualizar la imagen del jLabel.

La aplicación terminada

El siguiente video muestra el resultado del proyecto, asi como tambien el diseño realizado con netbeans

Para bajar el proyecto y darle un vistazo al código y a la japo comiendo (Actualizado)
Click para descargar

continue reading

Post recomendado