enero 21, 2013

Manejo De Imagenes

Para el manejo de imágenes en java, utilizamos dos clases de la librería swing, que seria JLabel y ImageIcon, con estas podemos realizar una clase con la cual iremos actualizando la imagen cada vez que queramos. Definimos nuestra clase de la siguiente manera:
import javax.swing.ImageIcon;
/**
 * Archivo: ManejoImagen.java
 * @author BelloCerecero
 * @since 6/09/2011
 */
public class ManejoImagen 
{
    private String nombreImagen;
    private ImageIcon imagen;
    
    public ManejoImagen(String nombreImagen)
    {
 this.nombreImagen = nombreImagen;
 imagen = new ImageIcon(nombreImagen + ".gif");
    }
    
    public ImageIcon getImagen()
    {
 return imagen;
    }
    
    public void setImagen(String nuevaImagen)
    {
 imagen = new ImageIcon(nuevaImagen + ".gif");
    }
    
    public String getNombreImagen()
    {
 return nombreImagen;
    }
    
    public void setNombreImagen(String nuevoNombre)
    {
 nombreImagen = nuevoNombre;
    }
}

En la linea uno importamos la clase ImagenIcon, ya dentro de la clase definimos nuestras variables privadas, en este caso sería el nombre de la imagen que es de tipo String y la imagen que es de tipo ImageIcon. El constructor recibirá de parámetro el nombre de la imagen para que así podamos pasársela de parámetro a nuestra imagen (linea 15). Ahora ya solo hacemos los getters y setters de nuestras variables de clase, que actualizaran la imagen y la retornaran. Esta es un simple prueba de como funciona la clase ManejoImagen:
 /**
  * Archivo: PruebaImagen.java
  * @autor BelloCerecero
  * @since 21-01-2013
  */
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class PruebaImagen 
{
    public static void main(String[] args) 
    {
 JFrame ventana = new JFrame("Imagenes");
 JPanel contenedor = new JPanel();
 JLabel etiquetaImagen = new JLabel();
 ManejoImagen imagen = new ManejoImagen("+");
 
 etiquetaImagen.setIcon(imagen.getImagen());
 contenedor.add(etiquetaImagen);
 ventana.add(contenedor);
 ventana.pack();
 ventana.setVisible(true);
 
 imagen.setImagen("-");
 etiquetaImagen.setIcon(imagen.getImagen());
    }
}

Para esto utilizamos un JFrame (una ventana), un JPanel (un contenedor) y un JLabel (una etiqueta). Instanciamos cada uno de ellos (lineas de la 14 a la 16) y también instanciamos nuestra clase ManejoImagen (recuerden que aquí le deben de poner el nombre de la imagen). En la linea 19 a la etiqueta le vamos a actualizar el icon (la imagen) pasando le de parámetro el getter de la imagen. ya solo agregamos la etiqueta al contenedor (linea 20) después agregamos el contenedor a la ventana (linea 21) y con el método "pack" le estamos diciendo a la ventana que tome el tamaño de la imagen. El método "setVisible" es para mostrar la ventana. Ya después solo tendremos que ir actualizando la imagen. 

Así queda:



 *** NOTA: En este programa no se vera como se realiza el cambio de imagen ya que no estamos manejando Timer o Threads.

1 comentario:

  1. como le agregarias que apartir de una entrada desde teclado puedas ir cambiando las imagenes

    ResponderBorrar