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.


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