Java 9 в Windows с большими шрифтами

Если вы установите большие шрифты (например, 125%, 120 точек на дюйм) в Windows, это будет выглядеть так, как будто Swing of Java 9 сначала визуализирует меньшее изображение, а затем масштабирует это изображение на экране.

Текст по-прежнему отображается правильно. Но линии в 1 пиксель умножают на 1 или 2 пикселя. Диагональная линия - ступенчатая. Иконки растрированы.

Есть ли какие-либо параметры командной строки или API для изменения этого поведения?


Пример редактирования:

Использование MenuSelectionManagerDemo из docs.oracle.com/javase/tutorial/uiswing/examples/components /

введите описание изображения здесь


person Horcrux7    schedule 13.12.2016    source источник
comment
пожалуйста, printsceen и SSCCE / MCVE могут нам помочь   -  person mKorbel    schedule 13.12.2016
comment
Такое поведение только с Java 9? У меня с Java 7/8 таких проблем не было.   -  person Sergiy Medvynskyy    schedule 13.12.2016
comment
Да, эта проблема возникает только с Java 9.   -  person Horcrux7    schedule 14.12.2016
comment
Вы пробовали перезагрузить ОС после смены dpi?   -  person wzberger    schedule 14.12.2016
comment
@wzberger Поведение не меняется после перезагрузки.   -  person Horcrux7    schedule 14.12.2016
comment
Какую версию Windows вы используете?   -  person wzberger    schedule 14.12.2016
comment
Стоит отметить, что в демо-версии Oracle, которую вы сейчас использовали, есть оговорка. По вашей ссылке: Учебники Java были написаны для JDK 8. Примеры и практики, описанные на этой странице, не используют улучшений, представленных в более поздних выпусках.   -  person skomisa    schedule 27.09.2017
comment
Кроме того, похоже, что Oracle устранила проблему, которую вы подняли: bugs.openjdk.java.net / browse / JDK-8174845   -  person skomisa    schedule 27.09.2017


Ответы (2)


Я запустил Swing MenuSelectionManagerDemo с использованием Java 9 и Windows 10, и поднятые вами проблемы, похоже, решены. Посмотрите два снимка экрана ниже, где я работал с масштабированием, установленным на 100% и 125% соответственно.

Как я указал в комментарии к OP, похоже, что это было решено с помощью исправления ошибки JDK несколько месяцев назад, которое, как я полагаю, было поднято OP:

https://bugs.openjdk.java.net/browse/JDK-8174845

Еще один незначительный момент, на который стоит обратить внимание, заключается в том, что изменение настройки Windows со 100% на 125% - это изменение на «Масштаб и макет», а также «изменение размера текста, приложений и других элементов». (т.е. это гораздо больше, чем просто изменение шрифта, как упоминалось в ответе об ошибке JDK.)

100%

125%

person skomisa    schedule 29.09.2017

Я обнаружил, что в Oracle Java 9,10,11,12 и Amazon Corretto Java LTS (jdk 11.0.2_9) проблема растеризации с иконками / изображениями все еще актуальна и не исправлена! Это исправление действительно слито с транком?

Последняя версия, в которой эта проблема не возникала, - это Java 8.0_202, где все идет хорошо.

person Csaba Tenkes    schedule 15.04.2019
comment
Была ли у вас платформа Windows 10? Если это так, это странно, потому что проблема была определенно решена для меня, как показано в моем ответе выше в Windows 10 с использованием Java 9. . - person skomisa; 29.08.2019
comment
ПРИВЕТ! Да, это была среда Windows 10. - person Csaba Tenkes; 06.01.2021