Java Windows 9 大字体

Java 9 on Windows with large fonts

如果在Windows上设置大字体(例如125%、120 DPI),那么看起来Java9的Swing先渲染成小图再缩放图像到屏幕。

文本仍然可以正常显示。但是 1 像素线的强度是 1 像素或 2 像素的倍数。对角线是阶梯状的。图标被栅格化。

是否有任何命令行参数或API可以改变这种行为?


示例编辑:

使用来自 docs.oracle.com/javase/tutorial/uiswing/examples/components/

MenuSelectionManagerDemo

我 运行 Swing MenuSelectionManagerDemo 使用 Java 9 和 Windows 10,您提出的问题似乎已解决。请参阅下面的两个屏幕截图,其中我 运行 分别将缩放比例设置为 100% 和 125%。

正如我在对 OP 的评论中指出的那样,几个月前 JDK 错误修复似乎解决了这个问题,我认为它是由 OP 提出的:

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

另一个值得注意的小问题是,将 Windows 设置从 100% 更改为 125% 是对 "Scale and Layout" 的更改,并且会 "Change the size of text, apps and other items"。 (即,它不仅仅是字体更改,如 JDK 错误响应中所述。)

我发现在 Oracle Java 9,10,11,12 和 Amazon Corretto Java LTS (jdk 11.0.2_9) 和光栅化问题icons/pictures 仍然是一个有效的案例并且未修复!这个错误修复真的合并到主干了吗?

最后一个没有出现这个问题的版本是 Java 8.0_202 仍然一切顺利。