为了账号安全,请及时绑定邮箱和手机立即绑定

当 Java Swing 应用程序应该缩放到正常大小时,它在高 DPI 屏幕上看起来很小

当 Java Swing 应用程序应该缩放到正常大小时,它在高 DPI 屏幕上看起来很小

慕妹3146593 2021-10-13 12:53:04
如何让我的 Java Swing 应用程序 GUI 在高 DPI 屏幕上正确缩放到用户?请参阅下面的屏幕截图。在顶部,您可以看到与 Ubuntu 的文件资源管理器图标和 gedit 相比,该应用程序看起来有多小。在左下角,您可以大致看到应用程序的大小(并且在常规 DPI 监视器上看起来确实如此)。因此,我正在寻找一种在使用高 DPI 监视器时正确缩放应用程序 GUI 的方法。例如,gedit 在常规 DPI 和高 DPI 显示器上看起来相同。我希望我的应用程序表现得像这样。这是该应用程序的源代码:https : //github.com/baobabKoodaa/baopass这是影响许多应用程序的极其常见的问题。我在 Ubuntu 上运行的应用程序中,大约有一半在用户没有任何操作的情况下正确缩放,另一半没有缩放,看起来非常小。请注意,我主要是在寻找不需要用户操作的解决方案(尽管此时对任何帮助表示赞赏 - 我还没有找到任何扩展它的方法)。根据这种缩放比例应该已经开箱即用。它没有。我不确定这是否是一个错误,或者除了在 Java 9 上运行应用程序之外,我是否还应该执行一些额外的步骤?
查看完整描述

2 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

您必须告诉绘图库放大应用程序。

GDK_SCALE=2 ./应用

将在环境中设置适当的信息,并且小部件将按比例渲染,以便每个像素有效地占用四个像素的足迹。

请注意,启动画面(如果您使用 Java 的启动画面支持)不会在整个 Swing 库加载后显示,因此无论您尝试进行何种设置,它都不会缩放。

在某些平台上,如Fedora 的Linux 发行版,也可以进行部分缩放,您可以设置GDK_SCALE=1.5。请记住,它并非普遍可用,并且无法设置为您可能想要的任何缩放比例。

最后,较旧的 JVM 完全忽略此设置,因此如果您不使用 Java 9 或更高版本启动,则很可能无法正常工作。而且,当然,针对较旧的 JVM 和不同的操作系统进行调整的方式往往会有所不同(如果它们确实有效的话)。


查看完整回答
反对 回复 2021-10-13
  • 2 回答
  • 0 关注
  • 705 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信