Есть ли способ определить, находится ли ОС Ma c или Windows в темном режиме в Java - PullRequest
2 голосов
/ 20 февраля 2020

В настоящее время я занимаюсь разработкой приложения, однако мне неизвестно о каких-либо методах проверки, находится ли система уже в темном режиме. Приложение создано с использованием JavaFX на Ma c. В настоящее время у меня есть CheckMenuItem, который при проверке загружает с использованием оператора IF файл 'darkmode. css'. И удаляет его, если файл, если флажок checkmenuitem снят.

Однако вместо проверки MenuItem я хочу иметь возможность активировать файл css, когда ОС находится в темном режиме, и когда ее нельзя удалить, снова. Я чувствую, что Java, возможно, не сможет этого сделать. Если есть какие-либо способы сделать это, я буду заинтересован в том, чтобы узнать и узнать, как вы могли бы это реализовать.

В двух словах:

1 Ответ

2 голосов
/ 20 февраля 2020

Не существует стандартного Java API для определения, находится ли собственный пользовательский интерфейс хоста в "темном режиме" или "ночном режиме".

В терминах дизайна пользовательского интерфейса "темный режим" является относительно новым идея. Из того, что я могу сказать, это действительно взлетело как идея в 2018 году; см https://en.wikipedia.org/wiki/Light-on-dark_color_scheme. Это было хорошо после стабилизации Swing и JavaFX. (В случае Swing, спустя десятилетия!)

В трекере ошибок OpenJDK недавно (декабрь 2019 г.) была обнаружена ошибка для определения настройки темного режима хост-ОС: JDK-8235460

В отсутствие стандартных Java API, вы можете попробовать спецификации ОС, определенные c; например, как описано ниже:

Для Android Поддерживается обнаружение в темном / ночном режиме:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...