<Swing Dev> RFR: 8271923: [macos] the text color on the selected disabled tabbed pane button remains white making text unreadable

Jayathirth D V jdv at openjdk.java.net
Mon Sep 6 06:24:45 UTC 2021


On Mon, 23 Aug 2021 12:32:20 GMT, Prasanta Sadhukhan <psadhukhan at openjdk.org> wrote:

> It is seen that  if a JTabbedPane is unfocused, it's title is painted with **white** text on grey background 
> as opposed to **black** text on grey background in unfoucsed native app on macOSX Catalina
> and is somewhat not legible. 
> This can be seen with SwingSet2 demo with InternalFrame or JTabbedPane demo and any native app, making focus toggle between the two.
> 
> Issue was TabbedPane always draw with "selectedTabTitleNormalColor" which is white. Although Aqua L&F defined selectedTabTitleDisabledColor but it is not used as TabbedPane does not check if focus is there in current frame and draw accordingly, which native app does.
> 
> Proposed fix is to check for frame is active or not and draw text color accordingly. 
> Since it is not affecting BigSur (where even if native app active or not text is always drawn in same color), it is only restricted to Catalina and lower.

src/java.desktop/macosx/classes/com/apple/laf/AquaTabbedPaneContrastUI.java line 83:

> 81:         if (enabled && pressed) {
> 82:             return UIManager.getColor("TabbedPane.selectedTabTitlePressedColor");
> 83:         } else if (!enabled || (!JRSUIUtils.isMacOSXBigSurOrAbove() && !isFrameActive)) {

Do we enter this condition in BigSur when SwingSet2 is not focused?

If yes, Will we not see difference in color between "new ColorUIResource(new Color(1, 1, 1, 0.55f))" and updated "black" color ?

If no, In BigSur from where black color is picked for selectedTabTitleDisabledColor?

-------------

PR: https://git.openjdk.java.net/jdk/pull/5217


More information about the swing-dev mailing list