我试图在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;
}
使用调试器的命名。 QED。 – mre
哪一行是空的?并改变不与已存在的paint方法冲突的'paint(Graphics g)'方法的名称。使用'myPaint(...)'或者这个想法。 –
另外,如果这是我的应用程序,并且图像足够小,我会在课程创建时读取所有图像,并且在程序运行时不会一直读取同一图像。这是非常低效的。另外,你确定ImageIcon不是空的,因为它没有找到图像。为什么要创建一个ImageIcon,如果你打算将它用作图像? –