2016-05-30 28 views
2

Ich versuche ein Bild in eine BufferedImage Variable zu laden und diese in einem ArrayList (ArrayList<BufferedImage> imgList) zu speichern.Nullpointerexception beim Hinzufügen von Bildern zu ArrayList <BufferedImage>

public void loadImage(){ 
    try { 
     String fileLoc = getClass().getResource("tile_unsearched.jpg").getPath(); 

     fileLoc = URLDecoder.decode(fileLoc,"UTF-8"); 

     File aFile = new File(fileLoc); 

     img = ImageIO.read(aFile); 

     imgList.add(img); 
    } catch (IOException e) { 
     System.out.println(e); 
    } 
} 

Allerdings halte ich diesen Fehler:

Exception in thread "main" java.lang.NullPointerException 
    at MainGameGUI.loadImage(MainGameGUI.java:96) 
    at MainGameGUI.<init>(MainGameGUI.java:56) 
    at MainDriver.main(MainDriver.java:22) 

Der Weg richtig ist, denn wenn ich es drucken, es als /C:/Users/HenBradley/workspace/HH2/bin/sector_a.jpg, die genau herauskommt. Also kann ich mir nicht vorstellen, dass mein Objekt null sein würde, und wenn es so wäre, weiß ich nicht, warum es so sein würde, wenn man bedenkt, dass der Pfad korrekt ist.

Irgendwelche Hinweise, wo ich falsch liege?

hier ist auch die Erklärung von img und imgList:

private ArrayList<BufferedImage> imgList; 
private BufferedImage img = null; 

Antwort

1

imgList ist null. Ändern

private ArrayList<BufferedImage> imgList; 

um so etwas wie

private List<BufferedImage> imgList = new ArrayList<>(); 
+0

Ah, was für einen dummen Fehler. Vielen Dank! Du hast recht. – ChewySalmon