[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 
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."

> -- 
> 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