11

Java 8中没有适当的HiDPI 支持

Java 9中,JavaFx 应用程序可以正确缩放到它们所在的监视器。例如,如果我的监视器设置为 150%,则 Java 应用程序将缩放到 150%。

见: http: //openjdk.java.net/jeps/263

但是,出于测试目的,我需要能够在 Windows 10 中使用java.exe flags禁用缩放。我该如何实现这一点?

另外,也许我可以在应用程序本身中以编程方式禁用(并重新启用)它?

4

3 回答 3

10

我在物质错误报告中发现了这个晦涩的选项。这解决了 Swing 应用程序的问题。

-Dsun.java2d.uiScale=1.0

如果您使用的是 JavaFX,则需要

-Dprism.allowhidpi=false

不幸的是,我找不到这些选项中的任何一个的官方文档

于 2018-02-05T12:53:16.043 回答
4

如果需要,从该网站找到另外几个有用的 JVM 参数:

-Dsun.java2d.uiScale.enabled=false
-Dsun.java2d.win.uiScaleX=1.0 -Dsun.java2d.win.uiScaleY=1.0
于 2019-12-18T11:42:44.477 回答
1

利用

System.setProperty( "sun.java2d.uiScale", "1.0" );

在你的java代码中,这对我有用(JDK 17)。

于 2021-11-12T16:05:40.977 回答