3

我有一个使用 Java web start 部署的 java swing 应用程序。在高 dpi 显示器上,一切都显得非常小。我已经确定这是因为虽然 java 报告它对 Windows 具有 dpi 感知能力,但实际上 java swing 应用程序不具备 dpi 感知能力。我尝试在 java.exe、javaws.exe 和 javaw.exe 文件中将 dpi 感知设置为 false,但没有成功。

任何建议,将不胜感激。

4

2 回答 2

8

在 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
于 2017-01-17T17:07:30.957 回答
0

这在 Windows 10 上对我有用:

  1. 找到 java.exe 或 javaws.exe
  2. 右键单击-> 属性
  3. 转到兼容性选项卡
  4. 点击“更改高 DPI 设置”
  5. 选中“覆盖高 DPI 缩放行为”
  6. 为“缩放执行者”选择“系统”

来源:https ://superuser.com/questions/988379/how-do-i-run-java-apps-upscaled-on-a-high-dpi-display

于 2021-01-15T14:30:14.330 回答