gpt4 book ai didi

Java:当 Jtree 展开节点或折叠节点时,getRowForLocation() 返回不同的 row int

转载 作者:行者123 更新时间:2023-12-02 08:17:06 25 4
gpt4 key购买 nike

JTree jtree 附加了一个鼠标监听器。当用户单击 Jtree 组件节点时,我通过

获取它的行整数
 jtree.getRowForLocation(evt.getX(), evt.getY());

问题在于,当jtree节点展开和折叠时,返回的行整数是不同的。

我需要一种方法来获取每个单击的 jtree 节点的唯一且绝对的 ID,这样就不会造成混淆。

有没有办法向Jtree组件添加数据?

否则,我需要一种方法来监听节点何时展开并重新计算从上述函数返回的行......

最佳答案

在您当前的方法中,您依靠 TreeView 的状态来识别节点。然而,正如您所发现的, View 的状态可以改变。不变的是 View 底层的树模型。

如果您需要为每个节点提供唯一的 ID,那么您应该将其直接添加到树模型中的每个树节点。然后,您可以在鼠标监听器中检测您单击的节点并访问其唯一 ID。

关于Java:当 Jtree 展开节点或折叠节点时,getRowForLocation() 返回不同的 row int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6164692/

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