首页 > 解决方案 > 升级java后Swing看起来放大了

问题描述

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

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

我试图找到一个解决方案很长时间,但没有找到任何东西。我希望其他人遇到过这个问题,或者至少知道问题可能是什么。

标签: javaswingjava-8java-11java-13

解决方案


Holgers 关于操作系统扩展的评论是问题所在。我有一个 4K 屏幕,在操作系统中设置了 150% 的缩放比例。将其恢复为 100% 使 Java Swing 客户端看起来与运行 Java 8 时相同。

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

还请参阅https://superuser.com/questions/988379/how-do-i-run-java-apps-upscaled-on-a-high-dpi-display


推荐阅读