g.drawString("Image not found: " + imgname, 10, d.height/2);
}
else {
g.drawImage (img, 0, 0, this);
}
}
public void update(Graphics g) {
paint(g);
}
public boolean imageUpdate(Image img, int flags,
int x, int y, int w, int h) {
if ((flags & SOMEBITS) != 0) {
// Новые частичные данные
repaint(x,y, w, h); // Рисует новые пикселы
}
else if ((flags & ABORT) != 0) {
error = true; // Файл не найден
repaint(); // Рисовать весь апплет
}
return (flags & (ALLBITS | ABORT)) == 0;
}
}
Рис. 2 показывает экраны двух отдельных прогонов этого апплета. Левый экран показывает загруженное изображение, а правый — отображает сообщение о том, что в теге апплета имя файла было напечатано с ошибкой.
Рис. 2. Удачная загрузка рисунка и файл с рисунком не найден
Ниже показан интересный вариант imageUpdate(), который вы могли бы попробовать испытать. Он ждет, пока изображение не будет полностью загружено перед моментальной вставкой его в экран единственной перерисовкой.