Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/07/2015, 18:08
inazense
Invitado
 
Mensajes: n/a
Puntos:
Error al cargar imagen con ImageIO

Estoy haciendo un programa de Space Invaders siguiendo un tutorial, paso a paso.
Tengo un problema a la hora de cargar un gif en mi aplicación.

Este es el código

Código Java:
Ver original
  1. public BufferedImage loadImage(String nombre) {
  2.  
  3.         URL url=null;
  4.         try {
  5.             url = getClass().getClassLoader().getResource(nombre);
  6.             return ImageIO.read(url);
  7.         }
  8.         catch (Exception e) {
  9.             System.out.println("No se pudo cargar la imagen " + nombre +" de "+url);
  10.             System.out.println("El error fue : "+e.getClass().getName()+" "+e.getMessage());
  11.             System.exit(0);
  12.             return null;
  13.         }
  14.     }
  15.    
  16.     // Sobrescribo método paint heredado de Canvas
  17.     public void paint(Graphics g){
  18.         BufferedImage bicho = loadImage("recursos/bicho.gif");
  19.         g.drawImage(bicho, 40, 40, this);
  20.     }

Me sale el siguiente error:
Cita:
No se pudo cargar la imagen recursos/bicho.gif de null
El error fue : java.lang.IllegalArgumentException input == null!
Pensaba que era problema de rutas. Las he revisado y creo que las tengo bien.
El .java se encuentra en C:\Users\Inazio\workspace\Space Invaders\src\Invaders.java y la imagen en C:\Users\Inazio\workspace\Space Invaders\recursos\bicho.gif.

Después de pelearme buen rato no encuentro el fallo. En StackOverFlow en otras preguntas similares señalan un problema con la ruta, pero no encuentro el fallo.
También he probado con rutas absolutas y sale el mismo resultado.
¿Una ayudita?