Загрузка изображения динамически из апплета
У меня есть следующий код апплета для загрузки изображения.
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)
,