RFR: 8357004: Windows platform color changes are not picked up in some cases

Markus Mack mmack at openjdk.org
Thu May 15 15:40:03 UTC 2025


On Wed, 14 May 2025 23:00:29 GMT, Michael Strauß <mstrauss at openjdk.org> wrote:

> The platform preferences API does not pick up the correct `UIColor` values when changing from a high-contrast Windows theme to another high-contrast theme.
> 
> The reason is that the implementation incorrectly assumes that changing the high-contrast theme does not affect the `UIColor` values. The fix is simple: when we query the `SysColor` values, we also need to query the `UIColor` values.
> 
> To reproduce: open platform preferences monitor in MonkeyTester (Tools -> Platform Preferences Monitor). Then switch between different high-contrast themes in Windows Settings and observe the `Windows.UIColor.*` values.
> 
> This fix can only be tested manually, since it requires interacting with the Windows OS in non-automatable ways.

I tested with a binding on the "Windows.UIColor.Accent" preference on Windows 11. I can reproduce this issue in master and it's fixed with this PR. Code changes only affect windows-related code and look good as well.

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

Marked as reviewed by mmack (Author).

PR Review: https://git.openjdk.org/jfx/pull/1806#pullrequestreview-2844204585


More information about the openjfx-dev mailing list