Un applet Swing que visualiza imágenes descargadas desde un archivo JAR


Introducción

El applet que tiene un combo con nombres de imágenes. En la JLabel se situa la imagen (ImageIcon) seleccionada en el combo. Las imágenes se obtienen desde un archivo jar y se cargan en un array ImageIcon. Gestionamos el evento de cambio de selección del combo, con la finalidad de mostrar la imagen correspondiente al item seleccionado. Atributos:


public class visor extends JApplet {
  JComboBox combo = new JComboBox();          // Combo donde están los nombres de imágenes
  JLabel etiqueta_imagen = new JLabel();      // Etiqueta donde pondremos imagen
  String[] nom_imagenes = {"casa", "mar" };   // Nombres de los archivos de imágenes
  ImageIcon[] imagenes = new ImageIcon[nom_imagenes.length]; // vector de imagenes
  ....
	
Applet.

La carga de imágenes

El objetivo es poner las imágenes en el vector 'imagenes'. Las imágenes se obtienen del archivo JAR, para lo que en primer lugar tomamos la URL de cada imagen. En segundo lugar se obtiene cada ImageIcon de esta URL. ¿Por qué usamos ImageIcon? Simplemente porque es la clase que maneja JLabel para las imágenes:


       URL url_imagen;
       for ( int i = 0; i < nom_imagenes.length; i++ ) {
	  /*** Leer de JAR: obtenemos el URL y cargo imagen en array ***/
	  url_imagen = new URL( "jar:" + getCodeBase().toString() + "imagenes.jar!/" + nom_imagenes[i] + ".JPG" );
  	  imagenes[i] = new ImageIcon( getImage( url_imagen ) );
       }

	

Cuando cambia la selección del combo se pone otra imagen en el JLabel por medio del método setIcon:


      int indice_seleccionado = combo.getSelectedIndex();
      etiqueta_imagen.setIcon( imagenes[indice_seleccionado]);
	
Descargar código


Volver al índice