在单个 Add+Remove 事件中更改 JavaFX 节点的父节点,而不是两个单独的事件

问题描述

我想将一个子节点从一个父级的子列表移动到另一个父级的子列表,而不触发“空父级”情况的侦听器。我只用了一个命令:

newParent.getChildren().add(child)

但这会在 child.parentProperty 上触发两个单独的更改事件:

oldParent -> null
null -> newParent

这会导致我的用户界面出现问题。我有一个选项卡窗格,其中每个选项卡都允许选择选项卡中的一个节点,这样当您导航到另一个选项卡,然后返回到第一个选项卡时,该节点仍处于选中状态。 A listener deselects that node when the tab is no longer in the node's ancestry,that is,when the node is removed from the tab.

自然,两个事件中的第一个触发侦听器,从选项卡中删除节点,即使是临时的,因此取消选择节点。

我该怎么做才能避免这种情况?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)