【问题标题】:JavaFX whole GUI broken on some machinesJavaFX 整个 GUI 在某些机器上损坏
【发布时间】:2015-01-19 08:15:45
【问题描述】:

[问题] 我在 e(fx)clipse 中为我的应用程序构建了一个 GUI,并将其导出为项目 .zip 文件和可执行的 .jar 文件。我用 Java 1.8 编译它并在另一台机器上安装 JDK 8 并运行 .jar。应用程序启动时没有错误,但整个 GUI 已损坏。所有元素(文本区域、按钮等)似乎都是正常大小的两倍。 (GUI是通过编码制作的,没有Screen Builder)我不知道这里有什么问题。 如果您需要更多信息,请询问。谢谢!

编辑:似乎有一个更大的问题。我在 eclipse 中复制粘贴了一个非常简单的 JavaFX 教程,并且出现了同样的问题。所以看起来不是代码而是JVM?

编辑:按钮(等)的点击框位于正确的位置并且可点击。只是视觉效果坏了。设置默认样式表不起作用。

编辑:有些机器装有 Win7 和相同的 JRE,它可以工作。我已经在它不起作用的机器上重新安装了 JDK/JRE,但问题仍然存在。有人知道如何解决这个问题吗?

[解决方案] 正如@tomsontom 指出的那样:显卡与JavaFX 不兼容。您可以通过java -jar -Dprism.order=sw your.jar 解决此问题。相关帖子:JavaFX strange rendering on Windows 7

【问题讨论】:

  • 您的代码是否以Exception 退出?在这种情况下,Exception 类型是什么?
  • @GiulioBiagini 没有例外,但这里有一张图片Broken GUI。应用程序在我编写的机器(Win8.1)上仍然可以正常工作,但在所有其他机器(Win7)上它都坏了。
  • 你能把JFrame的代码链接到这里吗? (使用pastee
  • 尝试将此代码作为main() 函数中的第一条指令:UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());。错误还会出现吗?

标签: java user-interface javafx


【解决方案1】:

它不起作用的最可能原因是在这台 Win7 机器上:

  1. 显卡不受支持,FX 正在回退到可能存在错误的软件渲染
  2. JavaFX/DirectX 和显卡之间的某些东西出了问题

【讨论】:

  • 这是一个有趣的观点。我会尽快检查。
  • 这就是问题所在。我可以修复它。对于其他有同样问题的观众,请查看我帖子中的 [解决方案]。谢谢@tomsontom!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-02-13
  • 1970-01-01
  • 2022-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多