<Swing Dev> RFR: 8263496: MetalHighContrastTheme.getControlHighlight cleanup

Alexander Zvegintsev azvegint at openjdk.java.net
Wed Mar 24 17:56:45 UTC 2021


On Tue, 23 Mar 2021 10:26:42 GMT, Prasanta Sadhukhan <psadhukhan at openjdk.org> wrote:

> SonarCloud reports the potential issue with MetalHighContrastTheme.getControlHighlight where `controlHighlight ` field is not used and the getControlHighlight() uses secondary field.
> public ColorUIResource getControlHighlight() {
>         // This was super.getSecondary3();
>         return secondary2;
>     } 
> Removed the unused field.

src/java.desktop/share/classes/javax/swing/plaf/metal/MetalHighContrastTheme.java line 55:

> 53:                               255, 255, 255);
> 54:     private static final ColorUIResource controlHighlight = new
> 55:                               ColorUIResource(102, 102, 102);

I didn't check it on Windows(AFAICS it is used for Windows only), but I've done a quick check how it looks on Linux with both colors.

Using `controlHighlight`  in `getControlHighlight()`:
![using controlHighlight](https://user-images.githubusercontent.com/77687766/112357602-bf00dd80-8ce0-11eb-9a8d-0faeb6d1940b.png)

Using `secondary2`  in `getControlHighlight()`:
![using secondary2](https://user-images.githubusercontent.com/77687766/112357736-db9d1580-8ce0-11eb-8e1a-527ec327874f.png)

And it seems that the option with unused `controlHighlight` color is more fits the definition of high contrast.

Have you checked why its usage was removed?

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

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


More information about the swing-dev mailing list