Flickering in animation is caused due to the default behavior ofupdate() function. This default behavior first clears the screen and then calls paint() to do the painting. Overriding the update function in your applet can reduce flickering. Add the following lines to the code:
public void update(Graphics g){ paint(g);}
size=3>
Now, update is calling paint without clearing. A more sophisticated method is to paint the region only where changes are taking place:
public void update(Graphics g){ g.clipRect(x,y,width,height); paint(g);}
size=3>
Here x, y, width, and height give the dimensions of the region.