Interface TreeCellRenderer
- All Known Implementing Classes:
DefaultTreeCellRenderer
public interface TreeCellRenderer
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.
-
Method Summary
Modifier and TypeMethodDescriptiongetTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) Sets the value of the current tree cell tovalue.
-
Method Details
-
getTreeCellRendererComponent
Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) Sets the value of the current tree cell tovalue. Ifselectedis true, the cell will be drawn as if selected. Ifexpandedis true the node is currently expanded and ifleafis true the node represents a leaf and ifhasFocusis true the node currently has focus.treeis theJTreethe receiver is being configured for. Returns theComponentthat the renderer uses to draw the value.The
TreeCellRendereris 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- the receiver is being configured forvalue- the value to renderselected- whether node is selectedexpanded- whether node is expandedleaf- whether node is a lead noderow- row indexhasFocus- whether node has focus- Returns:
- the
Componentthat the renderer uses to draw the value
-