JavaFX:在当前FXML中包含来自公共库的公共FXML文件

JavaFX:在当前FXML中包含来自公共库的公共FXML文件,javafx,javafx-2,eclipse-rcp,javafx-8,efxclipse,Javafx,Javafx 2,Eclipse Rcp,Javafx 8,Efxclipse,我们有多个基于JavaFX的GUI项目。我们现在的目标是重构这些GUI,提取公共视图和源代码,并通过libs(bundle-jar)提供这些公共代码。我目前的问题是,我有一个显示日志文件的视图,该视图通过FXML包含在主视图中 <fx:include fx:id="logFileView" source="./sub/LogView.fxml" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity"

我们有多个基于JavaFX的GUI项目。我们现在的目标是重构这些GUI,提取公共视图和源代码,并通过libs(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
现在放在一个公共库(bundle-jar)中,应该可以被我们的任何GUI访问

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

另一个问题是公共库将是bundle项目(否则RCP GUI无法将它们作为依赖项解决),这使得使用绝对路径变得不可能(这不是一个好的实践)。GUI是基于RCP的GUI,使用JavaFX进行渲染


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

那么这是一个使用e(外汇)周期的e4循环贷款吗?如果是这样,您可能希望将其包含在标记中,以便正确的人看到这个问题。您应该能够通过指定fxml文件相对于类路径的完整路径来访问fxml文件(路径以前导的
/
开始,即
source='/com/mycompany/libs/etc/LogView.fxml'
)我认为只要jar在类路径上,它就可以工作。如果没有,请注意
FXMLLoader
具有和
setDefaultClassLoader(…)
方法。我从来没有使用过这些方法,而且文档也很少,所以您可能需要仔细研究一下:希望这会有所帮助……那么这是一个使用e(fx)clipse的e4 RCP吗?如果是这样,您可能希望将其包含在标记中,以便正确的人看到这个问题。您应该能够通过指定fxml文件相对于类路径的完整路径来访问fxml文件(路径以前导的
/
开始,即
source='/com/mycompany/libs/etc/LogView.fxml'
)我认为只要jar在类路径上,它就可以工作。如果没有,请注意
FXMLLoader
具有和
setDefaultClassLoader(…)
方法。我从来没有使用过这些方法,而且文档也很少,所以您可能需要仔细研究一下:希望这能有所帮助。。。
fx:controller="auv.e4.application.analyser.controller.sub.LogViewController"