【发布时间】:2018-07-16 15:13:30
【问题描述】:
我运行的是 64 位 Windows 10 并安装了 JDK 和 JRE 8 (1.8.0_152) 和 9(9.0.1)。
我有一个我正在 IntelliJ IDEA Community 2017.2 中开发的 GUI (Swing)。我已经根据自己的喜好设置了图标和字体大小,并且程序在 IntelliJ 中运行时运行并查看。我创建了一个 Artifact (JAR),如果它在 IntelliJ 中运行,一切都会正确显示。但是,如果我在 IntelliJ 之外运行(双击)JAR 文件,所有图标和文本都会变大/放大,并且看起来很模糊。我让 IntelliJ 使用 1.8 运行所有项目。
我已经阅读了有关 Java/Swing DPI 缩放的信息(显然 Swing 报告说它可以进行缩放或类似的事情,然后 Windows 会尝试扩展程序)但我不完全理解那是什么以及发生了什么.
我还研究过使用 launch4j,因为如果 JAR 被包装,它可能不会受到 DPI 缩放的影响,这是正确的吗?
我可以做些什么来运行我的 JAR 文件并且它看起来与 IntelliJ 中的完全一样?
非常感谢!
【问题讨论】:
-
您是否尝试在 JetBrains Runtime 上运行它?见intellij-support.jetbrains.com/hc/articles/206544879。
-
@CrazyCoder 根据您提供的链接,“...JDK (JetBrains Runtime) 与所有产品安装程序捆绑在一起,建议您使用提供的 JDK 版本,除非有任何特定问题. 由于 2017.1 版本 64 位 JDK 默认捆绑在所有系统上...”这是我拥有的关于信息:IntelliJ IDEA 2017.2.6 Build #IC-172.4574.11,建于 2017 年 11 月 13 日 JRE:1.8 .0_152-release-915-b12 amd64 JVM:JetBrains sro Windows 10 10.0 的 OpenJDK 64 位服务器虚拟机
-
我的意思是用这个运行时运行你的应用程序,而不是 IntelliJ IDEA。
-
@CrazyCoder 有关如何做到这一点的任何指示?谢谢
-
从bintray.com/jetbrains/intellij-jdk 下载运行时并使用它来运行您的应用程序而不是Oracle java。
标签: java swing intellij-idea scaling dpi