2016-01-10 133 views
0

我有一个应用程序,涵盖了大量用例,每个用例都具有完全独立的工作流程,但工作流程在安装后非常静态。Javafx在运行时动态加载fxml

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

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

TBH,我不知道从哪一个开始。

Regards

+0

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

回答

0

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

0

你的问题似乎是无稽之谈,因为FXML总是动态加载。我的猜测是你感到困惑,因为大多数例子在类中使用FXML,并通过getResource方法加载。但是FXML加载器可以使用任何类型的InputStream,因此您可以将InputStream打开为数据库Blob或文件,并将该InputStream作为加载器的参数。尽管赶上运行时异常:)

希望这会有所帮助。

+0

因此,如果我有从数据库加载的FXML的图像,我应该如何在FXML中引用它? –