【问题标题】:How to include child fxml inside parent fxml如何在父 fxml 中包含子 fxml
【发布时间】:2013-07-26 11:19:33
【问题描述】:

我需要你的帮助来解决这个问题,我想包含来自不同包的子 fxml。 如果两者都在同一个位置,我可以将 child.fxml 包含到 parent.fxml 中,但是当两者都在不同的位置/包中时,我不知道如何将 child.fxml 添加到 parent.fxml 中。

提前致谢。

【问题讨论】:

  • @jewelsea 你能说明一下吗?

标签: javafx-2


【解决方案1】:

访问子FXML文件应该通过相对路径,从FXML docs

其中 filename 是要包含的 FXML 文件的名称。价值观 以斜杠开头的字符被视为相对于 类路径。没有前导斜杠的值被认为是相对于 当前文档的路径。

示例:

org.tarrsalah.includefxml
  |
  |__childview
  |    |_________child.fxml
  |
  |__mainview
       |_________main.fxml

ma​​in.fxml

<StackPane id="mainView"  xmlns:fx="http://javafx.com/fxml" fx:controller="org.tarrsalah.includefxml.mainview.MainController">
    <children><fx:include source="../childview/child.fxml"/></children>        
</StackPane>

..访问父目录,childview,然后child.fxml

【讨论】:

  • 感谢您的意见。我知道您提到的相对路径,但我正在寻找一种解决方案,我不必提供相对路径,因为部署后,相同的 child.fxml 文件将位于目标系统上的不同位置/路径。
  • 我认为不使用相对路径就无法指定子FXML。
  • 即使我也这么认为。但是我的设计需要创建一个 GUI,比如 parent.fxml,通过在 maven 项目中选择单个小视图 (child.fxml)。
  • 如果您使用javafx-maven-plugin,则与maven(相对路径)相同,我在resources 文件夹内创建一个fxml 目录,其中包含我所有的fxml 文件。
猜你喜欢
  • 1970-01-01
  • 2015-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-03
  • 2017-12-02
相关资源
最近更新 更多