<AWT Dev> <Swing Dev> Review request: 6852592 (revalidate() must be smarter)

Artem Ananiev Artem.Ananiev at Sun.COM
Thu Jul 16 09:45:59 PDT 2009

Jeff Dinkins wrote:
>>> though I prefer to minimize calling Swing stuff from AWT code. What 
>>> do others think?
>> let's wait for the rest of the team
> Is there any awt code that calls into swing already? (not including any 
> peer impls)

I hope, not :) When it's absolutely necessary to call some Swing code 
from AWT (I believe all such cases should be eliminated eventually), we 
first check the component's class name to avoid loading Swing classes.



> jeff
>> Thanks
>> alexp
>>> -- 
>>> best regards,
>>> Anthony
>>>> Thanks
>>>> alexp
>>>>> Hello Swing and AWT teams,
>>>>> This is a fix for the problem discussed recently (see the thread 
>>>>> "Lw/Hw mixing vs revalidate()/validate()/invalidate()"). The webrev:
>>>>> http://cr.openjdk.java.net/~anthony/7-23-invalidate-6852592.0/
>>>>> Please review.
>>>>> A couple of notes:
>>>>> 1. We need to get a CCC approval for the API specification changes. 
>>>>> This will take some time.
>>>>> 2. The Container.invalidate() previously had a block of code that 
>>>>> was executed w/o grabbing the TreeLock (a call to the 
>>>>> LayoutManager2.invalidateLayout())). Now the code is moved to the 
>>>>> invalidateImpl() which is always invoked under the TreeLock. This 
>>>>> doesn't seem to be a problem: actually only the initial call to the 
>>>>> Container.invalidate() ran the code off the lock. All subsequent 
>>>>> recursive calls to this method did in fact happen under the lock. 
>>>>> Therefore I assume that this change is OK.
>>>>> -- 
>>>>> best regards,
>>>>> Anthony

More information about the awt-dev mailing list