gpt4 book ai didi

java - 如何在Linux中的高dpi显示器上修复基于Java的应用程序的缩放?

转载 作者:行者123 更新时间:2023-12-03 09:45:28 30 4
gpt4 key购买 nike

我刚切换到Java 11(AdaptOpenJDK),这样我的Java Swing应用程序在不同系统缩放设置下的高dpi显示器上看起来就可以了。

在Windows上可以正常工作。不管系统上配置的缩放值如何,java都会自动检测到它并使用它相应地缩放GUI。

但是,在Linux上,GUI不考虑系统缩放,因此在高dpi显示器上看起来很小。

在这里阅读一些帖子后,我发现我可以指示java使用什么缩放值。例如,如果系统缩放为200%,则可以将以下命令行参数添加到用于启动应用程序的java命令中。
-Dsun.java2d.uiScale=2.0
当我添加上述命令行选项时,GUI在Linux上看起来不错。

我还阅读了我可以设置GDK_SCALE环境变量的信息。

但是,我想找到一个更好的解决方案。
理想情况下,我不需要指定要使用的缩放值。
有人知道这是否可能吗?

如果上述方法不可行,那么我想下一步将是在Linux中提出一个命令,该命令返回当前系统缩放值,然后使用它来设置sun.java2d.uiScale选项。

任何帮助表示赞赏。

谢谢。

最佳答案

您可以尝试以下一种方法:

-Dsun.java2d.ddscale=true

编辑:

如官方文档所述,“如果正在使用DirectDraw/Direct3D管道,则将此标志设置为true将启用硬件加速缩放。默认情况下,DirectDraw/Direct3D硬件缩放被禁用,以避免在现有应用程序中呈现伪像”

有关更多信息,请参见官方 Oracle documentation about system properties

关于java - 如何在Linux中的高dpi显示器上修复基于Java的应用程序的缩放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58699877/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com