Загрузка изображения в апплет без getImage()?


Обычно я загружаю изображения в апплеты, используя:

this.getImage( getCodeBase(), "myimage.png" );

Или

myapplet.getImage( getCodeBase(), "myimage.png" );

Но что, если я хочу загрузить изображение из другого класса, который не является дочерним для апплета, и у него нет члена, который ссылается на апплет?

Скажем, у меня есть класс sprite, в методе update которого я хочу загрузить изображения для анимации:

@Override
public void update(){

    frame++;
    if ( frame > 3 ) frame = 1;

            /* the problem */
            loadImage( getCodeBase(), "myimage_" + frame + ".png" ); 
}

Конечно, я мог бы включить Applet app в качестве параметра, но метод обновления спрайта вызывается в очень многих разных частях кода и во многих других другие классы, что это чрезвычайно усложнит вещи и сделает жизнь трудной.

Итак, есть ли способ загрузить изображение из файла в апплет Без использования метода апплета getImage()?

2 2

2 ответа:

Итак, есть ли способ загрузить изображение из файла в апплет без использования метода getImage () апплета?

Image img = ImageIO.read(url);

При загрузке изображения из файла в определение класса, не являющегося апплетом, или в приложение требуются следующие инструкции:

Toolkit toolkit = Toolkit.getDefaultToolkit();
Image image1 = toolkit.getImage("fileName.ext");