创建具有图像文件路径作为参数的类的问题

时间:2017-10-03 20:36:33

标签: java class

我正在尝试创建一个类,该类可以采用带有图像路径的字符串并将其设置为此对象图像。我之前已经手动完成,即创建一个带有扩展主类的新类,但这将很快失控。这是我到目前为止的代码:

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)

有关如何解决此问题的任何建议吗?

1 个答案:

答案 0 :(得分:0)

好的,我找到了解决方案。事实证明,我的图像路径略有错误,如下所示:

//Image is called: "images/dude2.png"
//But I called it: "images/dude.png"

我想从中学到的教训是确保所有内容都被正确调用。