<Swing Dev> [jdk16] RFR: 8251377: [macos11] JTabbedPane selected tab text is barely legible
Alan Snyder
javalists at cbfiddle.com
Thu Dec 24 17:53:18 UTC 2020
What alternative are you proposing? I don’t believe there is any option that is guaranteed not to require changing
for some future release of macOS without some new API from Apple, e.g. “selectedTabTextColor”.
> On Dec 24, 2020, at 9:39 AM, Phil Race <prr at openjdk.java.net> wrote:
>
> On Wed, 23 Dec 2020 10:41:04 GMT, Prasanta Sadhukhan <psadhukhan at openjdk.org> wrote:
>
>> Please review a fix for jdk16.
>> On macOS 11 (bigsur), using the Swing Aqua Look and Feel, the text of the selected JTabbedPane tab title text is just a light gray outline of white text on a white background. The macOS 11 design inverted from dark background / light text to light background / dark text, so white text on white background is not legible.
>> Correct system color to use for this scenario, as per Apple, is [NSColor controlTextColor]
>> so the proposed fix is to use this system color for BigSur.
>> For preBigSur releases, "white" is still used as the above color is for text color but the tabPane background color is still not readable through any Apple API, so [NSColor controlTextColor] which returns black will not be legible on preBigSur releases which has black background.
>
> src/java.desktop/macosx/classes/com/apple/laf/AquaLookAndFeel.java line 873:
>
>> 871: "TabbedPane.selectedTabTitlePressedColor", selectedTabTitlePressedColor,
>> 872: "TabbedPane.selectedTabTitleDisabledColor", selectedTabTitleDisabledColor,
>> 873: "TabbedPane.selectedTabTitleNormalColor", System.getProperty("os.version").contains("10.16") ? selectedControlTextColor : selectedTabTitleNormalColor,
>
> That doesn't look very robust. What will happen on the next version of macOS ?
>
> -------------
>
> PR: https://git.openjdk.java.net/jdk16/pull/65
>
More information about the swing-dev
mailing list