Insertar y obtener imágenes en un fichero JAR con NetBeans
En una aplicación cliente de escritorio realizada con Java Swing nos va a ser muy útil poder obtener las diferentes imágenes e iconos de la aplicación accediendo a ficheros JAR pertenecientes a nuestra aplicación.
Su utilidad radica en que al tener localizadas las imágenes en nuestros ficheros JAR no tenemos que localizarlas directamente en nuestro disco duro. Si este fuera el caso el día que quisiéremos migrar por ejemplo nuestra aplicación de Windows a Linux tendríamos que modificar todo el código referente a la localización de las imágenes porque estas están en un path tipo C:\... que Linux no va a entender.
Para ver como insertamos y obtenemos una imagen en un fichero JAR con NetBeans vamos a ver el siguiente ejemplo en el cual queremos añadir algunas imágenes a la siguiente aplicación :
1.- Primero de todo vamos a crear una nueva carpeta llamada imágenes seleccionando con el botón derecho la carpeta Source Packages → New → Other
2.- En la ventana continua seleccionamos Other → Folder
3.- Ahora le damos el nombre a nuestra carpeta (en este caso Imagenes ) y la ubicamos en la carpeta src y por último seleccionamos Finish :
4.- Ahora observamos como se ha creado nuestra carpeta en el proyecto :
5.- Ahora seleccionamos el componente el botón al cual colocaremos la imagen y hacemos clic sobre el botón correspondiente a la propiedad icon
6.- En el cuadro de diálogo seleccionamos la opción External Image y hacemos clic sobre el botón que está a la derecha del campo de texto File or URL: para buscar e incorporar la imagen que se encuentra en en nuestra PC.Hecho esto hacemos clic sobre el botón
7.- En el cuadro de diálogo elegimos el fichero que habíamos seleccionado con anterioridad y hacemos clic sobre el botón
8.- Por último seleccionamos la carpeta que habíamos creado y seleccionamos
9.- Por último damos clic en
10.- Por último creamos el archivo JAR y listo nuestras imagenes dejan de depender de la ubicación en nuestro dsco duro .
Para utilizar las imágenes desde el código podemos usar la siguiente sentencia : |
….
import javax.swing.ImageIcon;
….
….
NOMBRE DEL BOTON.setIcon(new ImageIcon(getClass().getResource("/imagenes/NOMBRE DE TU IMAGEN.gif")));
...