OpenJFX TreeTableView 渲染问题

OpenJFX TreeTableView rendering issue

我希望有其他开发者有类似的问题可以分享如何解决这个问题。我正在我的一个宠物项目中使用 OpenJFX。该项目在包含 JFX 包的 Oracle JDK 1.8 上进行了测试。当 运行 在 Oracle 1.8 JDK 上时,TreeTableView 完全按要求显示:

由于我的其他工作站需要 Java 11,因此下载并安装了 OpenJFX 二进制文件 here。但是 TreeTableView 变得不可读,如下所示:

有没有类似经验的JFX开发者?

仅供参考,我已经使用 OpenJFX 版本 11.0.2、15.0.1 和 16 进行了测试,它们都给出了相同的输出。

编辑:从源代码来看,行为似乎与从源代码编译产生相同的结果。

更新:我应该添加我的宠物项目正在使用 JRuby 和 JRubyFX。虽然不确定,但我认为它与 JRubyFX 无关,因为 Oracle FX 看起来不错。

谢谢!

此致

从您的存储库中您拥有:

class WorkspaceCellFactory < javafx.scene.control.TreeTableCell
  include Antrapol::ToolRack::ExceptionUtils
  def updateItem(itm,e)
    super

    cont = nil
    if not itm.nil? 
      if itm.is_a?(TreeWorkspace) 
        if not_empty?(itm.workspace)
          cont = itm.workspace.path
        elsif not_empty?(itm.project)
          cont = itm.project
        else
          cont = itm
        end
      else
        cont = itm
      end
    end

    setGraphic(Text.new(cont))

  end
end

您正在将 graphic 属性 设置为 javafx.scene.text.Text 节点。过去,我相信我在使用带有 TreeView / TreeTableView 的图形时遇到过类似的问题。您已确认替换:

setGraphic(Text.new(cont))

与:

setText(cont)

问题解决。


JavaFX

中的错误

这似乎是 JavaFX 中的错误。请submit a bug report, assuming one doesn't already exist, so that the developers know there's a problem and can fix it. The bug report should include a minimal reproducible example写成Java.