java - 升级java后Swing看起来放大了
问题描述
我有一个运行 Swing 客户端的旧应用程序。我很久以前从 Java 7 升级到 8。升级很顺利。自从我想升级到 Java 9,然后是 11,现在是 13。然而,这是我遇到问题的地方。
UI 看起来不错,符合 Java 8 的预期,但任何较新的 Java 版本都会以某种方式更改字体大小,并且可能出于某种原因更改组件。我没有任何图片可显示,因为出于安全原因,该应用程序是在无法访问 Internet 的网络上维护的。客户端看起来像大多数东西都乘以 2.0 或其他东西。它看起来像缩放的,或者可能是您在考虑通用设计的情况下创建的东西。由于某种原因,甚至启动屏幕的大小也增加了一倍,这就是图像。有一些例外。窗口中的标题文本是相同的。按钮和标签上的文字似乎也是一样的。文本字段/编辑器中的图标、图像(飞溅)和文本要大得多。
我试图找到一个解决方案很长时间,但没有找到任何东西。我希望其他人遇到过这个问题,或者至少知道问题可能是什么。
解决方案
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
推荐阅读
- javascript - 试图从周历中获取周输入值
- android - 如何使用深层链接准确打开 Play 商店?
- swift - 如何将 Pagecounter 连接到 ScrollView
- c# - 如何修复“Microsoft.Office.Interop.Outlook 参考”错误?
- sql-server - 左连接上的 CTE 性能缓慢
- excel - VBA cannot create new CXMLHTTPHandler
- reactjs - 是否可以通过 AWS Amplify 的 withAuthenticator() 登录后触发功能?
- windows - 如何在 Windows 上运行 nvidia-smi?
- python - 如何在 abaqus 的 python 中修复这个循环错误?
- reactjs - 地图启动时出现 React-mapbox-gl-draw 错误