Java Swing HiDPI Масштабирование - PullRequest
1 голос
/ 16 июня 2019

Я создал программу с использованием Java 8, которая использует графический интерфейс Swing в Eclipse IDE.Чтобы масштабировать изображения и значки до соответствующих размеров, он получает и использует разрешение экрана.После компиляции программы в Eclipse программа отображается отлично, и кажется, что все работает как надо.Однако, когда я экспортирую проект как «Runnable Jar» и запускаю программу, масштабирование изображения и внешний вид программы выключены.

При дальнейшем исследовании выясняется, что выполнимый jar возвращалсяразрешение экрана ровно в 2,5 раза меньше, чем у Eclipse (фактическое разрешение - 3840x2160 против 1536x864).В Интернете есть косвенные доказательства того, что Java 8 Look and Feels (или что-то в этом роде) не поддерживает масштабирование экрана HiDPI.Существуют разрозненные решения, которые утверждают, что решают проблему, например, обновление до версий Java после 8 или добавление аргументов в компиляцию jar (что бы это ни значило).Это уже сбивает с толку новичка в Java, и оно только усложняется тем, что программа прекрасно отображается при запуске / компиляции в Eclipse IDE.

Мой вопрос заключается в том, знает ли кто-нибудь, как получить программу, скомпилированную вJava использует Swing для правильного масштабирования на экране HiDPI, и какой процесс мне необходим для компиляции работающей программы?

РЕДАКТИРОВАТЬ 1. Что интересно отметить, так это то, что в моих настройках Windows «Масштаб»а Layout "," Изменить размер текста, приложений и других элементов "установлен точно на 250%, что означает, что этот параметр, очевидно, является причиной проблем масштабирования, с которыми я сталкиваюсь.Кто-нибудь знает, как обойти этот параметр изнутри программы или почему он работает, когда я запускаю его через Eclipse?

...