En esta entrada me enfocaré unicamente en mostrar como leer una imagen y mostrarla en un JLabel, el cual estará en un JFrame.
Si deseas profundizar más te invito a leer la entrada Localizar y Leer recursos en Java
IDE
Netbeans 8.2
IDE
Netbeans 8.2
Precondiciones
La imagen a leer tiene que estar en algún lugar dentro de los fuentes de tu proyecto, por ejemplo en algún package diferente al de tu clase. En las siguientes imágenes te muestro la estructura de mi proyecto en NetBeans.
Pasos para leer y mostrar la imagen
Vamos a leer y mostrar la imagen en 5 pasos, lo único que tienes que cambiar es el path, según donde tengas la imagen.
//1. Obtener el objeto Class NombreClase.class
Class clazz = JFrameImageDemo.class;
//2. Crear el path "/com/unadm/swing/images/book-icon.png"
// Ruta absoluta tomando como contexto el classpath de nuestro proyecto
// Nuestra imagen se encuentra dentro del directorio build/classes el cual se
// agrega al classpath
String path = "/com/unadm/swing/images/";
path = path + "book-icon.png";
//3. Obtener la url de nuestra imagen
URL url = clazz.getResource(path);
//4. Leer la imagen con la clase ImageIO
try {
BufferedImage image = ImageIO.read(url);
//5. Setear la imagen al JLabel
emptyLabel.setIcon(new ImageIcon(image));
} catch (IOException ioexception) {
System.err.println(ioexception);
}
Codigo Fuente de la Clase
A continuación el código fuente de la clase, antes de ejecutar la clase es recomendable que realices un "clean and build" a tu projecto, muchas veces NetBeans necesita compilar todo el proyecto para incluir tu imagen junto a las clases compiladas.
Vamos a leer y mostrar la imagen en 5 pasos, lo único que tienes que cambiar es el path, según donde tengas la imagen.
//1. Obtener el objeto Class NombreClase.class
Class clazz = JFrameImageDemo.class;
//2. Crear el path "/com/unadm/swing/images/book-icon.png"
// Ruta absoluta tomando como contexto el classpath de nuestro proyecto
// Nuestra imagen se encuentra dentro del directorio build/classes el cual se
// agrega al classpath
String path = "/com/unadm/swing/images/";
path = path + "book-icon.png";
//3. Obtener la url de nuestra imagen
URL url = clazz.getResource(path);
//4. Leer la imagen con la clase ImageIO
try {
BufferedImage image = ImageIO.read(url);
//5. Setear la imagen al JLabel
emptyLabel.setIcon(new ImageIcon(image));
} catch (IOException ioexception) {
System.err.println(ioexception);
}
Codigo Fuente de la Clase
A continuación el código fuente de la clase, antes de ejecutar la clase es recomendable que realices un "clean and build" a tu projecto, muchas veces NetBeans necesita compilar todo el proyecto para incluir tu imagen junto a las clases compiladas.
No hay comentarios:
Publicar un comentario