<Swing Dev> [jdk16] RFR: 8251377: [macos11] JTabbedPane selected tab text is barely legible

Phil Race prr at openjdk.java.net
Thu Dec 24 17:39:00 UTC 2020


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