jruby - OpenJFX TreeTableView 渲染问题
问题描述
我希望有其他开发人员有类似的问题,可以分享如何解决这个问题。我正在我的一个宠物项目中使用 OpenJFX。该项目在包含 JFX 包的 Oracle JDK 1.8 上进行了测试。在 Oracle 1.8 JDK 上运行时,TreeTableView 完全按照要求显示:
由于我的其他工作站需要 Java 11,因此下载并安装了此处的 OpenJFX 二进制文件。但是 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 中的一个错误。请提交一份错误报告,假设该报告尚不存在,以便开发人员知道存在问题并可以修复它。错误报告应包含一个用 Java 编写的最小可重现示例。
推荐阅读
- android-studio - SocketException:操作系统错误:连接被拒绝,errno = 111,地址 = 127.0.0.1,端口 = 47660
- arrays - 数组中出现错误,R中未使用的参数
- javascript - 如何区分用户点击和 .click()?
- python - 树莓派上的闪屏显示错误
- api - 如何在golang中通过重定向发送cookie?
- python - 如何创建 Matplotlib 轴的新实例?
- c# - Custom web app login page using ADAL.net to validate Azure AD credentials
- r - 将所有分类变量的缺失替换为“无”
- matlab - 使用drawfreehand绘制感兴趣区域后如何裁剪图像?
- javascript - 为什么 React 随机(看起来)重新加载缓存的图像?