【问题标题】:how to repeat a node in same scene in javafx如何在javafx中重复同一场景中的节点
【发布时间】:2015-06-28 17:52:59
【问题描述】:

我想在场景中重复一个节点。 可能吗 ? 例如,我有一个锚窗格和 3 个窗格。 我在窗格(1)上有一个按钮,我想在程序中的某个过程之后将它添加到窗格(2)...。 我想像旧的一样重复那个节点(具有相同的属性)

【问题讨论】:

  • 不能只绑定属性吗?
  • 我想要所有属性...是否可以绑定“所有”属性?我只想在不同的窗格中显示该节点的快照。 (当然是用户可以与之交互的真实快照!)
  • 没有捷径可走,您只需要一次绑定一个感兴趣的属性。 (并且您不想绑定 all 属性;例如,您当然不希望两个节点的 parentProperty 相等...)如果您能解释一下,也许会有所帮助你为什么要这样做。
  • 我应该在用户入职过程中这样做...因为我需要单独的入职布局并且无需更改主应用程序的控制器...只可以使用主应用程序的 fxml ...我只想在每个步骤中启用特殊节点...我尝试了很多解决方案...在这个解决方案中我想添加一个透明布局并在其上生成特殊节点,以便用户可以在每个步骤中与特殊节点交互.. .

标签: java javafx javafx-2 javafx-8


【解决方案1】:

不,您不能在场景中重复相同的节点。

来自Node Javadocs

一个节点最多只能在场景图中的任何位置出现一次。具体来说,一个节点必须在以下所有情况中出现不超过一次:作为场景的根节点、父节点的子 ObservableList 或节点的剪辑。

回答你的问题:

我想像旧的一样重复那个节点

为此,请创建您要创建的styleclassadd it to similar nodes

【讨论】:

  • 所以没有这样的解决方案吗? stackoverflow.com/questions/22691243/… 我需要保留所有属性,如 layoutx、prefwidth 和 ...所以我不能只使用 css
  • 您可以使用properties 创建自定义控件,并通过每次创建控件的新对象来使用它。
  • 你能举个例子吗?
【解决方案2】:

场景图上只出现一个节点,如果您想在场景中多次操作相同的场景,那么您将不得不尝试创建具有相似内容的其他节点,例如您想要重复的节点场景图。将它们添加到场景中看起来就像场景中的同一个节点。

我没有其他方法,欢迎更多答案和更正。抱歉回复这个老qtn

【讨论】:

    猜你喜欢
    • 2017-06-08
    • 1970-01-01
    • 2018-03-13
    • 1970-01-01
    • 2016-03-17
    • 2014-10-28
    • 2014-04-05
    • 1970-01-01
    • 2021-12-26
    相关资源
    最近更新 更多