java jtree在延迟后重新显示每个项目的工具提示

Posted

技术标签:

【中文标题】java jtree在延迟后重新显示每个项目的工具提示【英文标题】:java jtree redisplay tooltip for every item after a delay 【发布时间】:2010-06-21 09:35:22 【问题描述】:

当工具提示显示在树上并且鼠标移动时,工具提示保持可见并且文本发生变化。当鼠标从一个项目移动到下一个项目时,是否可以隐藏工具提示并重新显示它。

【问题讨论】:

【参考方案1】:

根据需要扩展DefaultTreeCellRenderer 并调用setToolTipText()Customizing a Tree's Display 中讨论的教程项目 TreeIconDemo2 演示了该方法。

附录:您可以在TreeCellRenderer 中为每个节点提供所需的文本,例如MyRenderer:

    setToolTipText(value + " is in the Tutorial series.");

【讨论】:

我已经尝试过了,但是工具提示不会消失并在每个节点移动一个时重新出现。我试图实现的行为是:鼠标悬停在 node1 -> 显示 node1 的工具提示 鼠标悬停在 node2 -> 隐藏 node1 的工具提示,n 延迟显示 node2 的工具提示 @jagguli:似乎在上面提到的TreeIconDemo2 中也可以使用。 @jagguli:哦,我明白了;您希望工具提示来来去去。您可以使用ToolTipManager.sharedInstance() 并更改延迟。 我希望工具提示在鼠标从一个节点退出时消失,然后在鼠标进入下一个节点时重新出现,而不是基于延迟。也许工具提示中的东西? 无论如何它不再是我们的要求了,主要关心的是当鼠标移动到一棵大树上时是否显示工具提示会增加 CPU 利用率,到目前为止它似乎不是这样,所以它好的。【参考方案2】:

您必须使用 setToolTipText(null) 来删除工具提示 - 我们明确这样做时它不会消失。

【讨论】:

以上是关于java jtree在延迟后重新显示每个项目的工具提示的主要内容,如果未能解决你的问题,请参考以下文章

重新选择文件时Java JTree冻结

为 JTree 实现工具提示的最佳方式?

延迟显示异步获取的项目

java的JTree的使用方法,

在java中如何响应单击JTree树中一个节点?

Java — JTree and JTable