gpt4 book ai didi

include - JavaFX 场景生成器和 fx :include

转载 作者:行者123 更新时间:2023-12-04 14:30:27 31 4
gpt4 key购买 nike

我想知道如何使用 fx:include与 JavaFX Scene Builder 结合使用,因此:

想象我有一个 BorderPane (文件 borderpane.fxml)。在中间部分我想放一个 Label然而,它应在单独的 FXML 文件中定义,例如label.fxml .

第一个问题 : 如label.fxml将被集成到一个容器(BorderPane)中,它本身不需要一个。然而,SceneBuilder 只提供创建布局作为容器的选项?

第二个问题 : 我可以创建 label.fxml手动然后适应 borderpane.fxml手动包含 label.fxml .然后我可以使用 SceneBuilder 加载 borderpane.fxml 文件,没有任何问题。但是,当我现在更改标签文本并选择“保存”时,而不是 label.fxml被修改,而是 borderpane.fxml修改如下:

# borderpane.fxml  
<fx:include source="label.fxml" text="the new label text" />

新标签文本应写入 label.fxml , 不至 borderpane.fxml ,目前做了什么。
  • 难道我做错了什么?
  • SceneBuilder 不打算与 fx:include 结合使用吗?
  • 我想要单独的 Controller 用于我的 GUI 的一部分,我认为这是非常合乎逻辑的/正常的,所以这个实际使用场景有望以某种方式得到 SceneBuilder 的支持?
  • 最佳答案

    看来Scene Builder 2解决了你提到的两个问题。

    第一个(已解决)问题 :根节点不必是 Pane .例如,它可以是 Label
    第二个(已解决)问题 : 菜单 File > Include > FXML...可用于包含外部 FXML 文件。无法编辑包含的文件。无论如何,右键单击文档 View 中的节点将显示“编辑包含的文件”菜单项,它会为该文件打开另一个场景生成器窗口。

    总之, Scene Builder 2 正确处理 fx:include元素 .

    关于include - JavaFX 场景生成器和 fx :include,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14789332/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com