JTree 节点的可更改工具提示

2024-04-08

我有一个 JTree,其中填充了一些(自定义)节点。我有一个类,它是 DefaultTreeCellRenderer 的子类,使用“MyTreeCellRenderer”我可以为树中的每个节点设置工具提示。它工作正常:JTree 已填充,单元渲染器已设置,所有添加的节点都有工具提示。 问题是我不知道如何更改已填充树中某些节点的工具提示...该怎么做?有没有办法为 JTree 中的一个节点“重新创建”单元格渲染器?


我做到了!我没有使用扩展的 CellRenderer,而是使用了树的“getTooltipText”方法(我扩展了树)。这样我就能够根据鼠标指针悬停在其上的对象来控制工具提示的文本。

@Override
public String getToolTipText(MouseEvent evt) {
    if (getRowForLocation(evt.getX(), evt.getY()) == -1)
      return null;
    TreePath curPath = getPathForLocation(evt.getX(), evt.getY());
    TreeNode node = (TreeNode)curPath.getLastPathComponent();
    if(something)
        return "Empty";

    if(something_else)
        return "Not empty";

    return null;
  }

在渲染工具提示之前,您还需要告诉工具提示管理器有关您的树的信息:

ToolTipManager.sharedInstance().registerComponent(myTree);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JTree 节点的可更改工具提示 的相关文章

随机推荐