2
public Image  images[] = new Image[20];

    for(i=0; i<10; i++){
images[i]=new Image(getClass().getResource("/images/"+i+".jpg"));
        }

画像を配列に追加しようとしていますが、エラー Cannot instantiate the type Image j が表示されます

その理由は何ですか?

4

2 に答える 2

6

抽象クラスは直接インスタンス化できません。のサブクラスでImageIO.readある which returnsを使用できますBufferedImageImage

void loadImages() throws IOException {

    for (int i = 0; i < 10; i++) {
        images[i] = ImageIO.read(getClass().getResource("/images/" + i + ".jpg"));
    }
}
于 2013-09-23T13:41:21.947 に答える
4

Imageは抽象クラスであるため、インスタンス化できません。またはImageのように拡張するクラスのいずれかを使用する必要があります。BufferedImageVolatileImage

出典: Image の Javadoc

于 2013-09-23T13:41:49.510 に答える