Исключение нулевого указателя при рисовании изображения?
Я пытаюсь нарисовать изображение в Java. Он работал до того, как я создал отдельный класс для хранения изображений. Но теперь я получаю исключение нулевого указателя.
Основной класс:
Image image;
Images images; // class object
public void paint(Graphics G){
image = images.GETImage();
G.drawImage(image, x, y, 20,20,null);
}
protected void paintComponent(Graphics G){
paint(G);
}
Класс изображений для хранения изображений:
public Image GETImage(){
int direction = pacman.getDirection();
int newDirection = pacman.getDirection();
int x = pacman.getX();
int y = pacman.getY();
if(direction == Constant.UP){
ImageIcon i = new ImageIcon("src\\images\\pacman up.png");
image = i.getImage();
}
return image;
}
1 ответ
Ваша проблема здесь:
Image image;
Images images; // class object (this is never initiated in code snippet given)
public void paint(Graphics G){
image = images.GETImage(); //images is null, thus calling any method on the object will throw NPE
G.drawImage(image, x, y, 20,20,null);
}
ты никогда не начинаешь images
таким образом, он бросит NPE.
Также, пожалуйста, обратите внимание на комментарии @HovercraftFullOfEels, это важно, особенно для названия вашего метода.