1

我们有多个基于 JavaFX 的 GUI 项目。我们现在的目标是重构大量这些 GUI,提取公共视图和源代码,并通过库(bundle jar)使这些公共代码可用。我目前遇到的问题是我有一个视图,它显示日志文件并通过 FXML 包含在主视图中

<fx:include fx:id="logFileView" source="./sub/LogView.fxml"
    maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity"
    minWidth="-Infinity" prefHeight="600" prefWidth="1000"
    style="-fx-background-color: rgba(0, 0, 0, 0.0);"
    StackPane.alignment="CENTER_RIGHT" />

包含它的LogView.fxml控制器

fx:controller="auv.e4.application.analyser.controller.sub.LogViewController"

但这LogView.fxml现在被放置在一个公共库(bundle jar)中,应该可以被我们的任何 GUIS 访问

我们有 50 种不同的视图以这种方式构建,我更喜欢以这种方式使用 FXML。

另一个问题是公共库将是捆绑项目(否则 RCP GUI 无法将它们解析为依赖项),这使得使用绝对路径成为不可能(这也不是一个好习惯)。GUI 是基于 RCP 的 GUI,它使用 JavaFX 进行渲染。

我现在的问题是如何LogView.fxml从 FXML (with ) 内部的另一个项目中引用fx:include?这可能吗 ?如果不是,应该/可以进行什么样的重组?

4

0 回答 0