我有一个使用 Java web start 部署的 java swing 应用程序。在高 dpi 显示器上,一切都显得非常小。我已经确定这是因为虽然 java 报告它对 Windows 具有 dpi 感知能力,但实际上 java swing 应用程序不具备 dpi 感知能力。我尝试在 java.exe、javaws.exe 和 javaw.exe 文件中将 dpi 感知设置为 false,但没有成功。
任何建议,将不胜感激。
我有一个使用 Java web start 部署的 java swing 应用程序。在高 dpi 显示器上,一切都显得非常小。我已经确定这是因为虽然 java 报告它对 Windows 具有 dpi 感知能力,但实际上 java swing 应用程序不具备 dpi 感知能力。我尝试在 java.exe、javaws.exe 和 javaw.exe 文件中将 dpi 感知设置为 false,但没有成功。
任何建议,将不胜感激。
在 jnlp 文件的资源部分中设置属性。例如,在以下摘录中:
<resources>
<j2se version="1.7+" href="http://java.sun.com/products/autodl/j2se" initial-heap-size="128m" max-heap-size="1024m"/>
<property name="sun.java2d.dpiaware" value="false"/>
<jar href="app.jar" main="true"/>
</resources>
或者在命令行上运行 webstart,您可以覆盖属性:
javaws -J-Dsun.java2d.dpiaware=false myapp.jnlp
这在 Windows 10 上对我有用:
来源:https ://superuser.com/questions/988379/how-do-i-run-java-apps-upscaled-on-a-high-dpi-display