# Bilddatei laden



## Guest (23. Jan 2007)

Hallo

Ich habe angefangen, folgendes Tutorial zu studieren: http://www.planetalia.com/cursos/index.jsp

Jetzt habe ich beim Punkt 4 - First Images folgendes Problem.

Ich bekomme an dieser stelle im Code immer eine Fehlermeldung.


```
public BufferedImage loadImage(String nombre) {
		URL url=null;
		try {
			url = getClass().getClassLoader().getResource(nombre);
			return ImageIO.read(url);
		} catch (Exception e) {
			System.out.println("No se pudo cargar la imagen " + nombre +" de "+url);
			System.out.println("El error fue : "+e.getClass().getName()+" "+e.getMessage());
			System.exit(0);
			return null;
		}
	}
```

Fehlermeldung: No se pudo cargar la imagen res/bicho.gif de null
El error fue : java.lang.IllegalArgumentException input == null!

Das hört sich so an, als ob das URL objekt immer null bleiben würde.

Kann es sein, dass sich die Funktionen des Objekts durch eine neuere Java version verändert haben?

Ich würd gern wissen, ob mir jemand sagen kann, wie ich dieses Problem lösen kann...

mfg
luke86


----------



## luke86 (24. Jan 2007)

Sorry, hatte vergessen mich einzuloggen


----------



## Apo (24. Jan 2007)

Wahrscheinlich gibt es kein Bild, was unter ref/bicho.gif liegt ...
Bist du dir sicher, dass es ein Bild dort gibt???


----------



## luke86 (24. Jan 2007)

Hey, ja war mich sicher 

Hab das Problem nun so gelöst:


```
public BufferedImage loadImg(String PicturePath) {
        
        try {
           //Window.setTitle(System.getProperty("java.class.path")); - Pfad der .jar file herausfinden
           File f = new File(PicturePath);
           Window.setTitle(f.toString());
           return ImageIO.read(f);
        }
        catch (Exception e) {
            System.out.println("Fehler beim laden von bild " + PicturePath);
            System.out.println(e.getClass().getName() + " - " + e.getMessage());
            System.exit(0);
            return null;
        }
    }
```

Vielleicht hilft das ja anderen, die das selbe Problem haben 

mfg
luke86


----------



## EgonOlsen (24. Jan 2007)

Um was mittels getResource(...) zu laden, muss es im Klassenpfad liegen. Also z.B. in einem JAR oder auch einzeln. File ist ok für lokale Sachen, aber spätestens wenn du Webstart einsetzen willst, war es das mit File(...).


----------

