升级后 Swing 看起来放大了 java

Swing looks zoomed after upgrading java

我有一个旧应用程序 运行 一个 Swing 客户端。我很久以前就从 Java 7 升级到 8。升级很顺利。自从我想升级到 Java 9,然后是 11,现在是 13。然而,这是我遇到问题的地方。

UI 看起来不错,并且符合 Java 8 的预期,但任何较新的 Java 版本都会因某种原因以某种方式更改字体大小和组件。我没有任何图片可以显示,因为出于安全原因,该应用程序是在无法访问互联网的网络上维护的。客户看起来大多数东西都乘以 2.0 或其他因素。它看起来像放大的,或者可能是您在考虑通用设计时创建的东西。由于某种原因,甚至启动画面的大小也加倍了,那是一张图片。有一些例外。 windows 中的标题文本是相同的。按钮和标签上的文字似乎也相同。 textfields/editors 中的图标、图像(启动画面)和文本要大得多。

我已经尝试了很长时间的解决方案,但没有找到任何东西。我希望其他人遇到过这个问题,或者至少知道问题出在哪里。

Holgers 关于 OS 缩放的评论是问题所在。我有一个 4K 屏幕,在 OS 中设置了 150% 的缩放比例。将其恢复为 100% 使 Java Swing Client 看起来与 运行 Java 8.

时相同

要覆盖添加 -Dsun.java2d.uiScale=1

硒也https://superuser.com/questions/988379/how-do-i-run-java-apps-upscaled-on-a-high-dpi-display