RFR: 8289539: The color returned by CheckBox.interiorBackground is incorrect
Jayathirth D V
jdv at openjdk.org
Mon Sep 26 15:31:23 UTC 2022
On Thu, 22 Sep 2022 06:59:59 GMT, Tejesh R <tr at openjdk.org> wrote:
> The color returned for `InteriorBackground` property is the default color used for only _WindowsClassicLookAndFeel_. For _WindowsLookAndFeel_ the `InteriorBackground` color is not been used when checkbox paint happens. In _WindowsLookAndFeel_ the CheckBox check/uncheck is drawn using `ImageCache` which is totally independent of `InteriorBackground` color in which the user expects it to be.
> The proposed fix is to return null for _WindowsLookAndFeel_ (which is what happens in other LookAndFeel like Metal/Synth/Motif/Aqua ) and return default color which is the actual color used in _WindowsClassicLookAndFeel_.
Spent some time to check where all we are using these properties.
I see that we use "CheckBox.background" for CheckBoxIcon when it is pressed at https://github.com/openjdk/jdk/blob/master/src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsIconFactory.java#L389
Can you check why we use "CheckBox.background" instead of "CheckBox.interiorBackground" in WindowsIconFactory and what is its behaviour in Windows 11?
src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java line 661:
> 659:
> 660: "CheckBox.font", ControlFont,
> 661: "CheckBox.interiorBackground", (xp != null)?
Do we return any color other than the default FFFFFF/null?
What is the use of "win.frame.backgroundColor" property when we always return table.get("window")?
-------------
PR: https://git.openjdk.org/jdk/pull/10385
More information about the client-libs-dev
mailing list