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

标签 java user-interface javafx

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

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

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

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

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

最佳答案

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

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

关于JavaFX 整个 GUI 在某些机器上损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28020338/

相关文章:

java - 检测返回 null 的方法的静态字节码分析工具?

ios - 在 Swift 中的代码中向 iOS 应用程序添加启动屏幕(没有 Storyboard或启动板)

javafx 11 项目,找不到模块- intellij

java - 在 SwingWorker 上使用 done 方法还是更改监听器更好?

java - 将 BlendMode 添加到 JavaFX 中的裁剪节点

java - 我如何摆脱这些(未检查的调用)警告?

java - AnnotationConfigApplicationContext@4c0bc4 尚未刷新

java - JOOQ 生成器 : Missing name

Java进程立即退出

Python - 对齐 Tkinter 标签文本