JavaFX 8 : rendering messed up on Linux

标签 java linux javafx rendering

下面是我的 Debian Wheezy 工作站上 Oracle 的 JavaFX“Hello World”示例的屏幕截图的两个链接。

第一个是用 JDK6u67 和 1.7 目标构建的,并用相应的 JRE 运行:
Java 7 screenshot

第二个是使用 JDK8u20 构建的,目标为 1.8,并使用相应的 JRE 运行:
Java 8 screenshot

如您所见,在运行 Java 8 时呈现非常错误。另请注意,漂亮的应用程序图标在第二个屏幕截图中被替换为 X 服务器图标。
可能还值得注意的是,“好的”,即 Java 7,构建在使用 Java 8 运行时也很糟糕。

这两种构建都可以在 Windows 上正常运行。
知道可能出了什么问题吗?

关于我的系统的一些信息: $ X -版本
X.Org X 服务器 1.12.4
发布日期:2012-08-27
X 协议(protocol)版本 11,修订版 0
构建操作系统:Linux 3.11-2-amd64 x86_64 Debian
当前操作系统:Linux babasee 3.2.0-4-amd64 #1 SMP Debian 3.2.60-1+deb7u3 x86_64
内核命令行:BOOT_IMAGE=/vmlinuz-3.2.0-4-amd64 root=/dev/mapper/babasee-root ro quiet
构建日期:2013 年 12 月 17 日 07:37:58PM
xorg-server 2:1.12.4-6+deb7u2 (Julien Cristau)
pixman当前版本:0.26.0

最佳答案

您可以通过禁用 OpenGL 渲染来解决此问题,如 How to disable or bypass Hardware Graphics Acceleration(Prism) in JavaFX 中所述.

-Dprism.order=j2d 添加到您的命令行,或将 System.setProperty("prism.order", "j2d"); 放在开头你的程序。

更新:首选属性值现在是 -Dprism.order=sw

关于JavaFX 8 : rendering messed up on Linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26264131/

相关文章:

java - CLOB 到字符串转换 + java 1.8

linux - 只保留每行的第二个属性

c - Linux内核3. *系列在通过make-kpkg和gcc-4.8.5在Ubuntu 16.04.1中自定义编译后无法正常启动。

JavaFX调用SceneBuilder中的默认方法(FXML)

java - 为什么 JavaFX 中没有 ObservableQueues?

java - 如何获取子级内部的 dataSnapshot.getChildrenCount()

java - 将 Magnolia 升级到 5.6.1,vaadin 资源

java - AWS - 如何在当前步骤中添加 EMR 步骤

java - OpenJDK 9 IntelliJ IDEA (Ubuntu) "Can' t 解析符号”

java - 使用鼠标和键盘在 3D 空间中移动 [JavaFX3D]