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