Module  java.desktop
软件包  javax.swing.tree

Interface TreeCellRenderer

  • 所有已知实现类:
    DefaultTreeCellRenderer


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

      • getTreeCellRendererComponent

        Component getTreeCellRendererComponent​(JTree tree,
                                               Object value,
                                               boolean selected,
                                               boolean expanded,
                                               boolean leaf,
                                               int row,
                                               boolean hasFocus)
        将当前树状单元格的值设置为value 如果selected为真,则将像选择一样绘制单元格。 如果expanded为真,则节点当前已扩展,如果leaf为真,则节点表示叶,如果hasFocus为真,节点当前具有焦点。 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