APIdia Launch Partner
Top Description Methods
javax.swing.tree

public Interface TreeCellRenderer

Known Direct Implementers
javax.swing.tree.DefaultTreeCellRenderer
Imports
java.awt.Component, javax.swing.JTree

Defines the requirements for an object that displays a tree node. See How to Use Trees in The Java Tutorial for an example of implementing a tree cell renderer that displays custom icons.
Authors
Rob Davis, Ray Ryan, Scott Violet

Method Summary

Modifier and TypeMethod and Description
public Component

Returns:

the Component that the renderer uses to draw the value
getTreeCellRendererComponent
(JTree
the receiver is being configured for
tree
,
Object
the value to render
value
,
boolean
whether node is selected
selected
,
boolean
whether node is expanded
expanded
,
boolean
whether node is a lead node
leaf
,
int
row index
row
,
boolean
whether node has focus
hasFocus
)

Sets the value of the current tree cell to value.

Method Detail

getTreeCellRendererComponentback to summary
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus)

Sets the value of the current tree cell to value. If selected is true, the cell will be drawn as if selected. If expanded is true the node is currently expanded and if leaf is true the node represents a leaf and if hasFocus is true the node currently has focus. tree is the JTree the receiver is being configured for. Returns the Component that the renderer uses to draw the value.

The TreeCellRenderer is also responsible for rendering the the cell representing the tree's current DnD drop location if it has one. If this renderer cares about rendering the DnD drop location, it should query the tree directly to see if the given row represents the drop location:

    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
    }
Parameters
tree:JTree

the receiver is being configured for

value:Object

the value to render

selected:boolean

whether node is selected

expanded:boolean

whether node is expanded

leaf:boolean

whether node is a lead node

row:int

row index

hasFocus:boolean

whether node has focus

Returns:Component

the Component that the renderer uses to draw the value