Java 如何在TreeCellRenderer中设置工具提示?

Java 如何在TreeCellRenderer中设置工具提示?,java,swing,jtree,renderer,Java,Swing,Jtree,Renderer,我一直在为添加到JTree节点的JPanel之一设置工具提示。这个问题可能类似于但不完全相同 我还使用一些(自定义)节点填充的JTree。每个节点都包含一个复选框、一个颜色框(JPanel)和节点路径。我正在实现TreeCellRenderer。我并没有发布下面的代码,因为我认为这是并没有必要的 以下是我的代码的一部分: public class CheckTreeCellRenderer extends JPanel implements TreeCellRenderer {

我一直在为添加到JTree节点的JPanel之一设置工具提示。这个问题可能类似于但不完全相同

我还使用一些(自定义)节点填充的JTree。每个节点都包含一个复选框、一个颜色框(JPanel)和节点路径。我正在实现TreeCellRenderer。我并没有发布下面的代码,因为我认为这是并没有必要的

以下是我的代码的一部分:

    public class CheckTreeCellRenderer extends JPanel implements TreeCellRenderer {

        private static final long serialVersionUID = 4025435851260573240L;

        CheckTreeSelectionModel selectionModel; 
        private TreeCellRenderer delegate; 
        TristateCheckBox checkBox = new TristateCheckBox();
        JPanel panel = new JPanel();

        public CheckTreeCellRenderer(TreeCellRenderer delegate, CheckTreeSelectionModel selectionModel){
            this.delegate = delegate;
            this.selectionModel = selectionModel;

            setLayout(new BorderLayout()); 
            setOpaque(false); 
            checkBox.setOpaque(false);
        }

        public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus){
            Component renderer = delegate.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus);
            panel.setToolTipText("Hello");
            removeAll();
        add(checkBox, BorderLayout.WEST);
        add(panel, BorderLayout.CENTER);
        add(renderer, BorderLayout.EAST);

        return this;
    }
}

如何为添加到节点的JPanel设置工具提示?

查看以下文档:

注意:为了使JTree正确显示其渲染器的工具提示,JTree必须是ToolTimManager中注册的组件。这可以通过调用ToolTimManager.sharedInstance().registerComponent(树)来完成。这不是自动完成的


这将解决问题。

“我没有发布下面的代码来说明要添加到节点的内容,因为我认为这是不必要的。”为了更快地获得更好的帮助,请发布一个(最简单的完整和可验证的示例)。正如我提到的,我正在向节点添加三个组件—复选框、JPanel和treenode路径。但是前两个组件是自定义组件,因此在这里发布它们的代码将是无关的和冗长的。因此,需要在GetTreeCellRenderComponent方法中设置工具提示。类似这样的东西;是的,我已经写了上面的代码示例。不幸的是,这不起作用。