RFR: 8289539: The color returned by CheckBox.interiorBackground is incorrect
Andrey Turbanov
aturbanov at openjdk.org
Wed Nov 2 07:31:37 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_.
test/jdk/javax/swing/JCheckBox/InteriorBackgroundTest.java line 64:
> 62: Color color = UIManager.getColor("CheckBox.interiorBackground");
> 63:
> 64: if(laf.contains("WindowsLookAndFeel") && color != null) {
Suggestion:
if (laf.contains("WindowsLookAndFeel") && color != null) {
test/jdk/javax/swing/JCheckBox/InteriorBackgroundTest.java line 67:
> 65: throw new RuntimeException("CheckBox.interiorBackground not Null for " +
> 66: laf);
> 67: } else if(laf.contains("WindowsClassicLookAndFeel") && color == null) {
Suggestion:
} else if (laf.contains("WindowsClassicLookAndFeel") && color == null) {
-------------
PR: https://git.openjdk.org/jdk/pull/10385
More information about the client-libs-dev
mailing list