如何在Linux中的高dpi显示器上修复基于Java的应用程序的缩放?
我刚刚切换到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
任何帮助是值得赞赏的。
谢谢。