[7u4] Request for review: 7149005: [macosx] Java Control Panel's UI controls are distorted when draging scroll bar.

Alexander Potochkin Alexander.Potochkin at oracle.com
Wed Mar 21 06:33:54 PDT 2012


Hello Anthony
> Hi Alex,
>
> Why is the "instanceof UIResource" check needed? Can a user set a 
> custom border that inherits from this class, and if yes, why do we 
> ignore it in this case?

UIResource is an empty tagging interface that all LaF resources should 
implement,
it enables us to differ user's resources from the LaF ones

It implies that a UIResource border "belongs" to the current LaF
and can be changed by the system, when a border which is not a UIResource
must be preserved as is.

The pattern I use in this fix is widely used in the Swing code.

If a user set a custom border that inherits UIResource he will 
contradict the UIResource specification:
"This interface is used to mark objects created by ComponentUI delegates."

Thanks
alexp
>
> -- 
> best regards,
> Anthony
>
> On 3/21/2012 4:48 PM, Alexander Potochkin wrote:
>> Hello
>>
>> Please review this fix
>> http://cr.openjdk.java.net/~alexp/7149005
>>
>> The bug is not publicly visible, so I'll describe it here:
>>
>> Java Control Panel's UI controls are painted incorrectly
>> with various painting artifacts
>>
>> It happens because AquaLaF changes the custom border previously set 
>> by the user,
>> the attached test case illustrates the problem.
>>
>> You can see that the visual appearance of the component depends on 
>> the order
>> of setting the text and setting the border.
>>
>> Thanks
>> alexp



More information about the macosx-port-dev mailing list