JFoenix 库在 scenebuilder 中不支持 JFXTabPane 吗?

JFoenix library does not have JFXTabPane support in scenebuilder?

为什么 JFoenix 在 scenebuilder 中导入的 .jar 中没有 JFXTabPane

这意味着当我尝试在 intellij 中使用 scenebuilder 打开我的 .fxml 文件时,它给我 .fxml file is not a FXML document 错误。

即使在 scenebuilder 中导入整个 JFoenix 库后,我也无法使用它,因为没有 JFXTabPane 就无法打开它。

我下载了最新版本的 SceneBuilder (17) 和 jfoenix (9.0.10) 并将 jfoenix jar 拖到 SceneBuilder 的库窗格中以将其导入。导入完成,库中显示JFXTabPane。当我尝试将 JFXTabPane 从库目录拖到场景中时,场景生成器开始表现异常(它损坏并且没有正确渲染正在构建的场景)。所以 JFXTabPane 仍然不能与 SceneBuilder 一起使用。我建议您向 jfoenix 提交一份报告,要求他们解决问题(他们在 github 网站上有一个问题跟踪器)。

提问者确实在评论中指出,在他们使用的设置下:

jfoenix 9 is displaying the JFXTabPane

这可能是因为我使用的 SceneBuilder 版本与我使用的版本 17 不同。

如果问题仍然存在,只需在 FXML 文档中使用普通的 TabPane 而不是 JFXTabPane。我查看了源代码,在功能上它们是相同的,JFXTabPane 继承自 TabPane。在您的代码中,创建一个新的 JFXTabPane 并将场景构建器注入的 TabPane 替换为您的新窗格(将子项和属性设置为与 fxml 相同),您应该可以在 SceneBuilder 中进行设计,但在实际中仍然使用 JFXTabPane应用程序。有点乱,但还算不错。

在 SceneBuilder 中使用其他 jfoenix 控件可能会出现类似的问题(我不知道,我还没有尝试过),但是像 JFXButton 这样的基本 jfoenix 控件似乎在 SceneBuilder 中工作正常,所以也许它是打开的遇到这些问题的 JFXTabPane。

有关对 SceneBuilder 自定义组件导入进行故障排除的更多信息,请参阅以下文档(尽管它可能无法在所有情况下提供帮助):

其中包含 SceneBuilder 导入故障排除部分的答案。