1

属性の中に画像を持つクラスがあります。この画像を返す簡単なゲッターを作成しました..

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;
}

このコードのいくつかがいくつかの問題を解決することを願っています。

4

0 に答える 0