我正在尝试创建一个类,该类可以采用带有图像路径的字符串并将其设置为此对象图像。我之前已经手动完成,即创建一个带有扩展主类的新类,但这将很快失控。这是我到目前为止的代码:
import java.awt.Image;
import java.net.URL;
import javax.swing.ImageIcon;
public class Sprite {
private int x;
private int y;
private ImageIcon ia;
private URL loc;
private Image image;
public Sprite(int x, int y) {
this.x = x;
this.y = y;
}
public Sprite(int x, int y, String imgLoc) {
this.x = x;
this.y = y;
URL loc = this.getClass().getResource(imgLoc); //problem area is here
ia = new ImageIcon(loc); //and here
image = ia.getImage();
this.setImage(image);
}
当我有一个孩子课时,它在儿童课上工作我输入了这样的东西:
public class Dude extends Sprite {
public Dude (intx, int y) {
super(x, y);
URL loc = this.getClass().getResource("images/dude.png");
ia = new ImageIcon(loc);
image = ia.getImage();
this.setImage(image);
}
}
但是当我尝试使用第二个Sprite构造函数时,它给了我一个
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(ImageIcon.java:217)
at Sprite.<init>(Sprite.java:26)
有关如何解决此问题的任何建议吗?
答案 0 :(得分:0)
好的,我找到了解决方案。事实证明,我的图像路径略有错误,如下所示:
//Image is called: "images/dude2.png"
//But I called it: "images/dude.png"
我想从中学到的教训是确保所有内容都被正确调用。