Invoking the browser's refresh probably repaints damaged or unprocessed regions of the browser space. Your applet's repaint() method should get called eventually, and the system will then "decide" which areas need repainting.
repaint() in the Applet class calls update(), which blanks the display area and draws a filled rectangle; this is followed by a call to paint() which does the rendering.
It may be the code you are using doesn't have the paint() method implemented with this is mind. Sometimes people will override the update() method to eliminate the screen wash, but forget to clear the screen some other way before redraw. Then you get what looks like a superimposition of two views on one space.
Take a second look at the paint() code with this in mind.
------------------
Michael Ernest, co-author of:
The Complete Java 2 Certification Study Guide