Sin duda una de las cosas mas caracteristicas de un sistema, por muy pequeño que sea, es el logotipo, el logotipo en lo personal creo que representa de la manera mas simplificada, el origen del proyecto, lo que el programador quiere expresar con este, aunque para otras personas tal vez solo sea una imagen junto al titulo, creo que no miento en le hecho de que nos pasa por la cabeza cada vez que vemos una «e» de color azul en el menú de inicio de Windows, o las cuadro ventanitas de colores en el Logon, o quiza una «A» para los que la conocen, o no se vayan lejos, que representan las letras PS en un icono azul, o una W, la verdad que el icono del programa creo que es mas representativo que solo una pequeña imagen. Y bueno, hoy les enceñare como añadirle una imagen a su JFrame.
Primero que nada para esta pequeña practica, nuevamente e creado un pequeño proyecto con un paquete y su JFrame, recordemos que el IDE que actualmente utilizo para programar es netbeans, asi que para los que ya esten familiarizados con el les será aun mas sencillo, y bueno, como veran tengo un paquete Examples y un subpaquete sources donde se encuentra la imagen que colocare como icono junto al titulo del programa, bien, lo primero que haremos teniendo esto sera lo siguiente:
Crearemos un metodo dentro del JFrame que le llamaremos como querramos, supongamos getImage, este metodo nos devolvera un objeto de tipo Image, que es el que se usa para asignarle el icono a un JFrame desde la pestaña de opciones, ya veran que no necesitaremos crear gran cosa, bien, el método contendra algo como lo siguiente:
//Metodo que devolvera un objeto image para asignarlo a la ventana private Image getImage(){ /*Creamos una URL de la direccion de la imagen, como en este caso se encuentra dentro del paquete nos ubicaremos a partir de la carpeta src, en mi caso la ruta es: /Examples/sources/logo.png */ URL url = getClass.getResource("/Examples/sources/logo.png"); // Creamos el objeto image a partir de un ImageIcon pasandole la URL como parametro Image image = new ImageIcon(url).getImage(); // Para finalizar retornamos el objeto Image return image; }
Bien,. con esto listo solo nos falta asignar la imagen, para esto podriamos hacerlo en codigo, pero ¿para que? si Netbeans nos provee de la opción para realizarlo e introducirlo en su initComponents(), ahora bien, volvemos a la sección design (diseño) y damos clic derecho al JFrame, y posteriormente, propiedades:
Buscamos la opcion iconImage y presionamos en el cuadro con puntos suspensivos del lado derecho, veremos una pantalla como la siguiente:
Aca en la parte de Establecer propiedad Form’s iconimage seleccionamos codigo personal e introducimos e el campo de texto this.getImage().
NOTA: No usen al final un punto y coma
Pulsamos aceptar y antes de correr el programa procederemos a Limpiar y construir, esto es para generar el archivo java y evitar errores de compilación, la verdad es que cuando aprendi a utilizar imagenes en mi programa cada vez que utilizaba una imagen trataba de correr el programa sin limpiar y construir y tuve la desgracia de pasar muchos «problemas» segun yo, cuando en realidad todo era fruto de mi ignorancia, pero bueno, es por eso que ahora se los explico. xD
Por ultimo no nos queda mas que correr el programa, ya podran ver la imagen en la parte superior izquierda en lugar de la tipica de Java.