我正在尝试将图片加载到BufferedImage
变量中并将其存储在ArrayList
(ArrayList<BufferedImage> imgList
)中。
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
出现,这是准确的。所以我无法想象我的对象会为空,考虑到路径是正确的,我不知道为什么会这样。
关于我哪里出错的任何线索?
此处还有img
和imgList
声明:
private ArrayList<BufferedImage> imgList;
private BufferedImage img = null;
答案 0 :(得分:1)
null
是private ArrayList<BufferedImage> imgList;
。变化
private List<BufferedImage> imgList = new ArrayList<>();
类似
-