Scenebuilder 2.0中的自定义组件

3
在 Scenebuilder 1.1 中,您可以将整个自定义组件作为一个整体导入。然而,在2.0中,它将组件作为单独的部分(容器和节点)导入。由于我的自定义组件依赖于统一工作以及其控制器和ID,因此这会导致问题。目前是否有任何解决方法呢?我真的很想能够使用Java 8和Scenebuilder 2.0来使用DatePicker。如果完整的稳定版本即将发布,也许我可以等待。最好避免hacky解决方案。有什么想法吗?
1个回答

1
我只找到一种处理这种后向兼容性的方法:建立自己的场景构建器。
它是官方开源的,因此您可以在例如bitbucket上使用mercurial进行检查。
然后,您需要构建它并修改它,将所有自定义组件和依赖项放入同一个类路径中,以便使用唯一的类加载器。
检查名为FXOMLLoader的类,它是类加载器被使用的地方,我的修复方法是明确地仅使用一个类加载器来处理所有组件,并添加一些包含我的依赖项的目录到类路径中使其正常工作。
我使用了Jar Class Loader库来实现这一点,它的效果非常好。不过这种方法相当hacky。

唉,这么多工作本来应该一开始就实现的。我希望Oracle能够把他们的东西整理好。暂时我可能不得不尝试这种hacky技术或直接依赖FXML编辑。 - Toni_Entranced
1
"它现已正式开源" - 请提供链接? - user11153

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接