所以这是我抛出 NullPointerException 的代码的一部分:
public class PuzzleGame extends GraphicsProgram implements KeyListener{
private ArrayList <PuzzleImage> list = new ArrayList <PuzzleImage>();
private PuzzleImage _11=null;
public static void main(String[] args) {
PuzzleGame game= new PuzzleGame();
game.setup(); //NullPointerException here
game.addKeyListener(game);
}
private void setup(){
BufferedImage img11 = null;
try {
img11 = ImageIO.read(new File("C://part11.png"));
} catch (IOException e) {
}
PuzzleImage _11=new PuzzleImage(img11,2,2,2,2); //NullPointerException here
list.add(_11);
}
}
这是 PuzzleImage 类
public class PuzzleImage extends GImage {
public PuzzleImage(Image img, double x1, double y1, double realX, double realY) {
super(img, x1, y1); //NullPointerException here
x=x1;
y=y1;
}
private double x;
private double y;
private double realX;
private double realY;
}
所以我确保 C 上有名为 part11.png 的文件,所以我猜路径应该是正确的。现在我真的不知道这段代码有什么问题,但是我对 java 很陌生,所以很可能有一些我不知道或没见过的东西。也许你们中的一些人可以看看,看看你能找到什么吗?谢谢。
已解决:原来我要添加的 12 张图片中只有 .jpg,而不是 .png。时间不早了,不好意思打扰各位了。