【问题标题】:Javafx dynamically fxml load at RuntimeJavafx 在运行时动态加载 fxml
【发布时间】:2016-04-14 16:32:24
【问题描述】:

我有一个应用程序涵盖大量用例,每个用例都有完全独立的工作流程,但安装后工作流程非常静态。

因此,我创建了一个 HBox 占位符,它将加载安装工作流。

有没有办法从数据库或单独的文件存档中动态加载 fxml 的一部分?该 fpml 必须拥有自己的一组图像和资源,才能实现工作流功能。

TBH,我不知道从哪里开始。

问候

【问题讨论】:

  • 这里的“动态”是什么意思? FXML 文件仅在运行时加载。你能澄清一下这个问题吗?

标签: dynamic javafx javafx-2 javafx-8 fxml


【解决方案1】:

我不太明白你的问题。您可以随时修改场景图。因此,当然可以随时从 FXML 文件加载场景图的一部分并将其连接到已经存在的部分。在您的控制器中,您可以访问 HBox 占位符,当您加载场景图的第二部分时,您可以通过 hbox.getChildren().add(newpart) 添加它,newpart 是第二个场景图的根节点部分。当然,您必须确保布局适合您的星座。

【讨论】:

    【解决方案2】:

    您的问题似乎无稽之谈,因为 FXML 始终是动态加载的。我的猜测是您感到困惑,因为大多数示例在与类相同的包中使用 FXML,因此通过 getResource 方法加载。但是 FXML 加载器采用任何类型的 InputStream,因此您可以将数据库 blob 或文件作为 InputStream 打开,并将 InputStream 作为参数提供给加载器。不过一定要捕获运行时异常:)

    希望这会有所帮助。

    【讨论】:

    • 那么,如果我有从数据库加载的 FXML 附带的图像,我应该如何在 FXML 中引用它?
    猜你喜欢
    • 2017-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-31
    • 2016-01-07
    • 1970-01-01
    • 2017-03-17
    相关资源
    最近更新 更多