【发布时间】:2021-03-13 00:11:01
【问题描述】:
我希望有其他开发人员有类似的问题,可以分享如何解决这个问题。我正在我的一个宠物项目中使用 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 似乎很好。
谢谢!
问候
【问题讨论】:
-
你能提供一个minimal reproducible example吗?
-
嗨,最快的是使用我的宠物项目,它是一个 jruby gems gvcsfx。如果你在 jruby 环境下,只需执行
$ gem install gvcsfx。成功安装后,您可以通过键入$ gvcsfx来启动gvcsfx GUI。该命令应打开窗口,如上面所附的屏幕截图。如果程序运行时Java是Oracle JDK,它将使用Oracle JFX。如果程序运行时 Java 是 OpenJDK,它将使用 OpenJFX,方法是查找指向 OpenJFX 版本的环境变量 PATH_TO_FX。通过这种方式可以显示差异。 -
事情是,我感觉我以前遇到过这个问题,但我不记得具体了。这可能与使用图形有关。具体来说,在
TreeItem而不是TreeCell/TreeTableCell中配置图形似乎是个问题(在我看来,给TreeItem一个图形属性是一个糟糕的API 决定)。但话虽如此,您的应用程序中似乎没有使用任何图形,所以我不知道我所说的任何内容是否会有所帮助。 -
我相信我只有在设置
TreeItem#graphic属性时才遇到问题。但是如果你设置text而不是单元格的graphic会发生什么呢?顺便说一句,您为什么将graphic属性设置为Text节点,而不是直接设置text属性? -
我添加了一个社区答案。
标签: jruby openjfx treetableview jrubyfx