JavaFX 整个 GUI 在某些机器上损坏

JavaFX whole GUI broken on some machines

[问题] 我在 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 解决此问题。相关post:JavaFX strange rendering on Windows 7

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

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