Hallo zusammen,
ich habe eine Klasse, in der ich BufferedImages laden möchte.
Dafür wird ein File f übergeben.
Allerdings bekomme ich beim Auslesen der Bildgröße nach dem Laden ein NullPointer-Exception.
Ich kann aber nicht feststellen warum:
- die Methode f.isfile() ergibt true
- System.out.println(image) schreibt auch jede Menge Infos zum bufferedimage
Wo liegt mein Problem?
Fehler:
Debugausdruck:
Danke
ich habe eine Klasse, in der ich BufferedImages laden möchte.
Dafür wird ein File f übergeben.
Allerdings bekomme ich beim Auslesen der Bildgröße nach dem Laden ein NullPointer-Exception.
Ich kann aber nicht feststellen warum:
- die Methode f.isfile() ergibt true
- System.out.println(image) schreibt auch jede Menge Infos zum bufferedimage
Wo liegt mein Problem?
Code:
public class Picture {
private BufferedImage image;
private String name;
private Point size;
public Picture(File f) throws IOException
{
System.out.print("Picture - Klasse FileTest: " + f.isFile()+ "\n");
image = ImageIO.read(f);
System.out.println(image);
name = f.getName();
size = new Point(image.getWidth(), image.getHeight());
}
Fehler:
Code:
Exception in thread "main" java.lang.NullPointerException
at planetarydefense.Picture.<init>(Picture.java:30)
at planetarydefense.SpielSteuerung.<init>(SpielSteuerung.java:61)
at planetarydefense.PlanetaryDefense.initialisieren(PlanetaryDefense.java:82)
at planetarydefense.PlanetaryDefense.<init>(PlanetaryDefense.java:48)
at planetarydefense.PlanetaryDefense.main(PlanetaryDefense.java:61)
Debugausdruck:
Code:
Picture - Klasse FileTest: true
BufferedImage@439f5b3d: type = 6 ColorModel: #pixelBits = 32 numComponents = 4 color space = java.awt.color.ICC_ColorSpace@1d56ce6a transparency = 3 has alpha = true isAlphaPre = false ByteInterleavedRaster: width = 48 height = 48 #numDataElements 4 dataOff[0] = 3
Picture - Klasse FileTest: true
BufferedImage@17f052a3: type = 6 ColorModel: #pixelBits = 32 numComponents = 4 color space = java.awt.color.ICC_ColorSpace@1d56ce6a transparency = 3 has alpha = true isAlphaPre = false ByteInterleavedRaster: width = 32 height = 32 #numDataElements 4 dataOff[0] = 3
Danke