Обычно для этой цели используют двойную буферизацию. Но это не решает проблему на 100%.
Следующие трюки могут быть использованы для решения проблемы мерцания в анимации:
- Use Media Tracker for downloading the images.
- Use double buffering.
- Change the default background color of the applet to the color of you Canvas by using setBackground(Color of the Canvas) in the init method of the applet.
- In an animation if you are updating only part of a area use repaint(x1,y2,x2,y2) instead of repaint().