You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何jlink构建的自定义Java运行时镜像导致Swing应用显示模糊?

自定义JRE镜像运行Swing应用显示模糊问题

我们使用Azul的JDK FX 17,通过以下命令构建自定义Java运行时镜像:

jlink --no-header-files --no-man-pages --compress=2 --strip-debug --module-path "C:\Program Files\Zulu\zulu-17\jmods" --add-modules java.base,java.datatransfer,java.desktop,java.logging,java.naming,java.prefs,java.rmi,java.security.sasl,java.sql,java.xml,javafx.base,javafx.controls,javafx.graphics,javafx.media,javafx.swing,javafx.web,jdk.jsobject,jdk.unsupported,jdk.crypto.ec --output jre

但发现使用该自定义镜像运行Swing应用时,UI显示质量与系统安装的Java存在明显差异:前者显示模糊,后者则清晰锐利。

使用jlink生成的自定义Java运行时镜像

运行命令:

C:\Users\yccheok\Desktop\jstock>jre\bin\java -Dsun.java2d.dpiaware=false -Xms64m  -Xmx512m --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/java.text=ALL-UNNAMED --add-opens java.desktop/java.awt.font=ALL-UNNAMED --add-opens java.desktop/java.awt=ALL-UNNAMED -jar jstock.jar

运行结果:Swing应用UI显示模糊
应用模糊显示截图


使用系统安装的Java

运行命令:

C:\Users\yccheok\Desktop\jstock>java -Dsun.java2d.dpiaware=false -Xms64m  -Xmx512m --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/java.text=ALL-UNNAMED --add-opens java.desktop/java.awt.font=ALL-UNNAMED --add-opens java.desktop/java.awt=ALL-UNNAMED -jar jstock.jar

运行结果:Swing应用UI显示更清晰锐利
应用清晰显示截图

对比两种环境的运行效果,系统安装的Java运行的Swing UI清晰度更高。请问该问题的原因是什么?如何修复jlink生成的镜像?

内容的提问来源于stack exchange,提问作者Cheok Yan Cheng

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 01:12:11