我刚切换到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
选项。
感谢您的帮助。
谢谢。