首页 > 解决方案 > 用户偏好的对比度极性?(操作系统暗模式设置)

问题描述

当前的操作系统(例如 Windows、macOS)让用户决定他们是想要浅黑背景上的深色内容(经典)还是深黑色背景上的浅色内容(深色模式)。

Java中是否有可用的东西,以便我的(客户端)Java程序可以根据该操作系统用户设置自动调整它们的对比度极性?如果这很重要,我正在使用 Swing。

我找到了系统属性apple.awt.application.appearance,但没​​有任何东西适用于 Windows,也没有任何独立于操作系统的东西。

还有,有听众吗?因为该设置可能会在运行时更改。

动机:反对比极性似乎可以抑制近视(Aleman et al. 2018-07-18 Science

标签: javaswing

解决方案


似乎有办法。

首先了解桌面模式(light vs dark)的设置可以从Windows Registry中读取:How to detect Windows 10 light/dark mode in Win32 application?

那么如何从您的 java 应用程序中获取对此注册表设置的访问权只是一个问题,如下所述:Read/write to Windows registry using Java


推荐阅读