【问题标题】:getOldLeadSelectionPath returns null if collapsing its parent如果折叠其父项,getOldLeadSelectionPath 返回 null
【发布时间】:2013-12-02 15:53:30
【问题描述】:

我对选择更改的 JTree 侦听器事件有疑问。问题是:
- 首先,我在树中的另一个项目下选择一个项目(例如节点 A -> 节点 B(已选择))
--> 旧选择为空,新选择为 [节点 A,节点 B]
- 比我折叠此节点的父节点(例如折叠节点 A 的所有子节点)
--> 旧选择为空(!),新选择为节点 A

为什么事件返回旧项目的空选择?这是一个错误吗?

谢谢回复!

【问题讨论】:

  • 发布一个 SSCCE,简短、可运行、可编译导致上午在 JTree 中选择问题,可能比在这里大喊大叫更好
  • 看起来像一个行为改变:在 6 中 - 两个选择事件,第一个是 newLead == null,第二个是 oldLead == null;在 7:一个选择事件,oldLead == null。两者都很奇怪,但 6ish 至少允许被通知......就个人而言,会说这是一个错误 - 一个讨厌的解决方法是跟踪你的听众中的旧线索

标签: java swing jtree


【解决方案1】:

根据docs可以为空。

在第一次选择旧路径时始终为空。

然后你折叠你的节点并且你的树没有到最后一个节点的路径(对于你在折叠的节点 A 中)因为你再次得到 null。

【讨论】:

  • 1) 我在 doc 中指向一个变量,而不是一个方法,它可以为 null。 2)正如@kleopatra 推荐的那样,您可以使用自己的听众追踪旧的。 3) 你可以尝试用你的实现扩展JTree
猜你喜欢
  • 2016-04-13
  • 2023-02-11
  • 1970-01-01
  • 1970-01-01
  • 2011-03-14
  • 2012-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多