2016-05-30 85 views
2

我試圖將圖像加載到BufferedImage變量中,並將其存儲在ArrayListArrayList<BufferedImage> imgList)中。將圖像添加到ArrayList時的Nullpointerexception <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); 
    } 
} 

不過,我不斷收到此錯誤:

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) 

的路徑是正確的,因爲當我打印出來,它出來作爲/C:/Users/HenBradley/workspace/HH2/bin/sector_a.jpg這是準確的。所以我無法想象我的對象會是空的,因爲它是,我不知道爲什麼會這樣,考慮到路徑是正確的。

任何線索我要去哪裏錯了?

而且這裏的imgimgList聲明:

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

回答

1

imgListnull。更改

private ArrayList<BufferedImage> imgList; 

喜歡的東西

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

啊,多麼愚蠢的錯誤。謝謝!你是對的。 – ChewySalmon

相關問題