[7u4] Request for approval for 7124530 - What is background color of AWT component? (And foreground, for that matter)

Mike Swingler swingler at apple.com
Fri Jan 13 09:31:03 PST 2012


On Jan 13, 2012, at 6:27 AM, Sergey Bylokhov wrote:

> 13.01.2012 6:30, Mike Swingler wrote:
> 
>> On Jan 12, 2012, at 4:24 AM, Sergey Bylokhov wrote:
>> 
>>> Hello,
>>> This is a request to push the following changes to jdk7u-osx.
>>> The fix has been reviewed on macosx-port-dev mailing list by Alexander Potochkin.
>>> 
>>> Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7124530
>>> Webrev can be found at: http://cr.openjdk.java.net/~serb/7124530/webrev.00/
>>> Technical review: http://mail.openjdk.java.net/pipermail/macosx-port-dev/2012-January/002143.html
>> I don't understand this part:
>> 
>> --- old/src/macosx/native/sun/awt/CSystemColors.m	2011-12-28 19:02:19.913935900 +0400
>> +++ new/src/macosx/native/sun/awt/CSystemColors.m	2011-12-28 19:02:19.557915600 +0400
>> @@ -81,7 +81,8 @@
>>      sColors[java_awt_SystemColor_INACTIVE_CAPTION] =        [NSColor grayColor];
>>      sColors[java_awt_SystemColor_INACTIVE_CAPTION_TEXT] =    [NSColor grayColor];
>>      sColors[java_awt_SystemColor_INACTIVE_CAPTION_BORDER] =    [NSColor grayColor];
>> -    sColors[java_awt_SystemColor_WINDOW] =                    [NSColor grayColor];
>> +    const CGFloat color = (CGFloat)0xEE/(CGFloat)0xFF;
>> +    sColors[java_awt_SystemColor_WINDOW] = [NSColor colorWithCalibratedRed:color green:color blue:color alpha:1.0f];
>>      sColors[java_awt_SystemColor_WINDOW_BORDER] =            [NSColor windowFrameColor];
>>      sColors[java_awt_SystemColor_WINDOW_TEXT] =                [NSColor windowFrameTextColor];
>>      sColors[java_awt_SystemColor_MENU] =                    [NSColor controlBackgroundColor];
>> 
>> Why aren't you just using [NSColor windowBackgroundColor]?
> Only selectedControlColor and selectedTextBackgroundColor are supported.
> http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/DrawColor/Tasks/SystemColors.html#//apple_ref/doc/uid/20000790
> As I understand that`s why swing didn`t use this color. After the fix awt and swing use one color (before the fix this color was used by swing).
> If this color is wrong, now it`s possible to change it in one place.

I can assure you that the window background color reports the correct RGB value, even when the background color has changed between OS versions. You static constant will not.

We use it today in Java SE 6.

Regards,
Mike Swingler
Apple Inc.



More information about the jdk7u-dev mailing list