<Swing Dev> Review request #3: 6852592 (revalidate() must be smarter)
Alexander Potochkin
Alexander.Potochkin at Sun.COM
Tue Jul 28 16:05:50 UTC 2009
Hello Anthony
> Hi Alex,
>
> On 7/27/2009 10:18 PM Alexander Potochkin wrote:
>>> Could you please elaborate on possible situations that could break
>>> after making the Window/Applet the validate root?
>>>
>>
>> Let me describe the "best fix"
>>
>> 1) Bring isValidateRoot() up to the Component class
>> 2) Make it return false
>> 3) Leave all other stuff intact
>
> The current fix does almost that with a few exceptions. Could you please
> describe at what exact cases promoting the isValidateRoot() to the
> Component instead of the Container might help? Any concrete existing
> methods/examples? Unfortunately I hardly see any, but maybe it's just me...
>
> Also, I would still like to understand how making the Window/Applet
> class a validate root might harm, so I would kindly ask you to describe
> a hypothetical case, please.
I believe that I already described one case
As you know the base type that Swing and AWT work with is java.awt.Component
see methods like getParent(), getComponent() etc...
The fix should eliminate the following messy code,
which can be found in JViewport and RepaintManager:
if ((c instanceof JComponent) && (((JComponent)c).isValidateRoot()))
and turn in into
if (c.isValidateRoot())
I also think that, Component.isValidateRoot() will make the fix shorter
on AWT side, since no casting to Container will be necessary
===
As for the second question about making Window/Applet validate roots,
I just don't see any practical benefits of this
Could you please give more details why it is worth doing?
Thanks
alexp
>
> --
> best regards,
> Anthony
More information about the swing-dev
mailing list