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

Reply via email to