Загрузка изображения динамически из апплета

У меня есть следующий код апплета для загрузки изображения.

public void init(){
    str = "Hi, Welcome!";

    sharedImage = getImage(getDocumentBase(), "/Users/Me/ScreenShare/testImage.png");
}
public void paint (Graphics g)
{
    g.drawString(str, 50, 50);
    g.drawImage(sharedImage, 100, 100, this);
}

Но я хочу загрузить это динамически сейчас, потому что изображение с этого пути будет меняться на новое изображение каждые 5 секунд. Как обновить изображение в апплете, если я не использую html-страницу для запуска апплета?

Пожалуйста, порекомендуйте.

1 ответ

Большинство методов загрузки изображений в JSE кэшируют изображения для эффективности. Обходной путь - это не использовать их, а вместо этого использовать методы более низкого уровня, которые не приведут к кешированию изображения. Для этого:

  • Загрузите byte[] текущего изображения.
  • Используйте массив байтов для формирования ByteArrayInputStream,
  • Загрузите входной поток массива байтов, используя ImageIO.read(InputStream),
Другие вопросы по тегам