Java Swing HiDPI缩放

时间:2019-06-16 10:45:09

标签: java swing hidpi

我已经使用Java 8创建了一个程序,该程序利用Eclipse IDE中的Swing GUI。要将图像和图标缩放到适当的大小,它将获取并使用屏幕分辨率。在Eclipse中编译该程序后,该程序显示完全正常,并且一切似乎都可以正常运行。但是,当我将项目导出为“ Runnable Jar”并运行该程序时,图像缩放和程序外观均已关闭。

在进一步的调查中,似乎可运行的jar返回的屏幕分辨率比eclipse的分辨率低2.5倍(这是实际分辨率-3840x2160与1536x864)。互联网上有大量证据表明Java 8外观(或某种形式)不支持HiDPI屏幕缩放。有分散的解决方案声称可以解决此问题,例如将Java版本更新到8以上,或者通过向jar编译添加参数(无论如何)。这已经使Java新手感到困惑,并且只有在Eclipse IDE中运行/编译该程序时才能完美显示该程序,这才使它更加混乱。

我的问题是,是否有人知道如何使用Swing在Java上编译程序以在HiDPI屏幕上正确缩放?我需要遵循什么过程来编译工作程序?

编辑1:有趣的是,在Windows设置中,“缩放和布局”,“更改文本,应用程序和其他项目的大小”精确设置为250%,这意味着该设置很明显我遇到的缩放问题的原因。有人知道如何从程序中绕过此设置,或者为什么当我通过Eclipse运行它时它为何起作用?

0 个答案:

没有答案