属性の中に画像を持つクラスがあります。この画像を返す簡単なゲッターを作成しました..
public Image getImage() {
return image;
}
後で、このゲッターを drawImage() で使用しようとしましたが、画像を取得できませんでした。
g.drawImage(c.getImage(), c.getXcord(), c.getYcord(), null, this);
ご覧のとおり、このクラスの他のゲッター (getXcord、getYcord) は正常に動作しますが、画像を取得できないようです。
ここでクラス WoodlandCreatures
public class WoodlandCreatures extends Animals {
public String favPlant;
public WoodlandCreatures(String fPlant, String animal, Image im, int x, int y) {
this.favPlant = fPlant;
this.animalType = animal;
this.image = im;
this.xCord = x;
this.yCord = y;
}
/*
public Image getImage() {
return image;
}
*/
このクラスは動物を拡張します
public abstract class Animals {
public String animalType;
public Image image;
public int xCord;
public int yCord;
public Image getImage() {
return image;
}
public int getXcord() {
return xCord;
}
public int getYcord() {
return yCord;
}
これが、私が使用している画像を作成した方法です。
Image squir2;
BufferedImage squir1 = createImage("images/Squirrel/Squirrel1.png");
squir2 = (squir1.getScaledInstance(100, 100, Image.SCALE_SMOOTH));
ここにcreateImage関数があります...
private BufferedImage createImage(String x){
BufferedImage bufferedImage;
try {
bufferedImage = ImageIO.read(new File(x));
return bufferedImage;
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
このコードのいくつかがいくつかの問題を解決することを願っています。