<Swing Dev> Review request #4: 6852592 (invalidate() must be smarter)
Anthony Petrov
Anthony.Petrov at Sun.COM
Fri Sep 25 14:16:09 UTC 2009
It's been a long time since we discussed the issue. Now is the time for
revival.
Last time we came across a failing test [1] that had a JApplet embedded
in a JFrame. The frame was expected to be validated upon showing.
However, the components in the JApplet were not validated, since the
JApplet itself was marked valid, but the invalidate() requests from the
children of the applet stopped on the RootPane of the JApplet because it
was a validate root.
Later we found out a possible solution for that problem [2]: the show()
(as well as the pack()) should validate the whole component hierarchy
unconditionally.
So, here's the fix with this solution implemented. Please review:
http://cr.openjdk.java.net/~anthony/7-23-invalidate-6852592.3/
The fix has been tested quite thoroughly: all sort of related automatic
tests for both Swing and AWT areas have been run (including
layout-related tests, bare (J)Component and Container-related tests, and
some other.) All manual layout-related tests from AWT and Swing have
also been run and passed. Mixing-related regression tests pass as well.
Please note that I've also changed the synopsis of the change request by
replacing revalidate() with invalidate() because the fix actually
affects the invalidate() method only.
[1] http://mail.openjdk.java.net/pipermail/awt-dev/2009-August/000831.html
[2] http://mail.openjdk.java.net/pipermail/awt-dev/2009-August/000835.html
--
best regards,
Anthony
More information about the swing-dev
mailing list