Java应用如何不改代码,调整窗口大小

最近工作上遇到了这个问题,浅浅的研究了一点,这里记录一下。

有不同意见欢迎评论区交流。


需求

项目需求:

客户已经开发好了应用,不过应用在系统上看起来有点小,希望应用能在不修改代码的情况下,通过其他手段让窗口能自适应。

环境

系统:Ubuntu2004

硬件:amd64主机

方案一

我们优先考虑使用指令的方式解决这个问题,这里有两种方案。

#假如应用为SimpleApp.class

1. GDK_SCALE=2 java SimpleApp

2. java -Dsun.java2d.uiScale=2.0 SimpleApp

这两条指令都是将窗口设置为现在的2倍,这种指令只支持整数倍缩放。

(看其他的博客写的支持1.5这种小数缩放,不过我测试没效果)

ps:这个放大不是完全的等比例放大,放大的过程可能会打乱窗口布局。

这里的缩放是JDK9引入的新功能:JEP 263: HiDPI Graphics on Windows and Linux

是JDK8上的issue转化来的:JDK-8055212

也就是说Java8上没法缩放

我没有找到这个功能backport到Java8的patch,有发现的朋友欢迎在评论区补充。

方案二

使用Java8的话就没法缩放窗口,因此又查到了另一个方案。

GitHub - rubo77/set_resolution.py

这是一个Python脚本,为特定的窗口设置分辨率。

-------------------------

待续未完。

你可能感兴趣的:(java,开发语言)