模块  java.desktop
软件包  javax.swing.tree

Interface TreeCellRenderer

  • 所有已知实现类:
    DefaultTreeCellRenderer

    public interface TreeCellRenderer
    定义显示树节点的对象的要求。 有关实现显示自定义图标的树状单元格渲染器的示例,请参阅The Java Tutorial中的How to Use Trees
    • 方法详细信息

      • getTreeCellRendererComponent

        Component getTreeCellRendererComponent​(JTree tree,
                                               Object value,
                                               boolean selected,
                                               boolean expanded,
                                               boolean leaf,
                                               int row,
                                               boolean hasFocus)
        将当前树单元格的值设置为value 如果selected为true,则将像选择一样绘制单元格。 如果expanded为true,则节点当前已展开,如果leaf为true,则节点表示叶子,如果hasFocus为true,则节点当前具有焦点。 tree是正在配置接收器的JTree 返回渲染器用于绘制值的Component

        TreeCellRenderer还负责呈现表示树的当前DnD丢弃位置的单元(如果有)。 如果此渲染器关注渲染DnD放置位置,则应直接查询树以查看给定行是否表示放置位置:

          JTree.DropLocation dropLocation = tree.getDropLocation();
             if (dropLocation != null
                     && dropLocation.getChildIndex() == -1
                     && tree.getRowForPath(dropLocation.getPath()) == row) {
        
                 // this row represents the current drop location
                 // so render it specially, perhaps with a different color
             } 
        参数
        tree - 正在配置接收器
        value - 要渲染的值
        selected - 是否选择了节点
        expanded - 是否扩展节点
        leaf - 节点是否为引导节点
        row - 行索引
        hasFocus - 节点是否具有焦点
        结果
        渲染器用于绘制值的 Component