The test case from 6644662 raised an issue where the repainting behavior of JApplet is different with and without -Dsun.java2d.noddraw=true specified. The issue has been discussed at length with ###@###.### and this bug has been filed to track the potential issue.
If the user's applet extends JApplet and overrides paint(Graphics), then if g.clearRect(0, 0, getWidth(), getHeight()) is not called at the beginning of the overridden paint(), if -Dsun.java2d.noddraw=true is specified via the Java Applet Runtime Parameters in the Java Control Panel then garbage appears on the screen. If -Dsun.java2d.noddraw=true is not specified (i.e., the default), then the painting results are correct.
See the attached test cases. To reproduce the behavior with the "classic" plug-in, use the Java Control Panel, Java Applet Runtime Parameters, to toggle the setting of -Dsun.java2d.noddraw=true and view the two test cases with and without it specified. TestApplet.html renders correctly with the default parameters, and incorrectly with -Dsun.java2d.noddraw=true. TestAppletCorrect.html renders correctly both with and without -Dsun.java2d.noddraw=true.
Oddly enough, if super.paint(g) is called, then even if g.clearRect() is also called, the painting results are incorrect with -Dsun.java2d=noddraw=true. See the commented-out code in TestAppletCorrect.java.
Note that JApplet overrides update() to not call an "unnecessary" clearRect() present in java.awt.Container.paint(Graphics).
During discussions with ###@###.### we tried toggling the Swing buffer-per-window system property but were unable to provoke a difference in behavior with that system property specified in either direction (true or false).
It is unclear whether this behavior is a bug or lies in the unspecified areas of Java 2D and/or Swing. However, more investigation is needed.