TreeCellRenderer (Java SE 19 & JDK 19) (original) (raw)
All Known Implementing Classes:
[DefaultTreeCellRenderer](DefaultTreeCellRenderer.html "class in javax.swing.tree")
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
[getTreeCellRendererComponent](#getTreeCellRendererComponent%28javax.swing.JTree,java.lang.Object,boolean,boolean,boolean,int,boolean%29)([JTree](../JTree.html "class in javax.swing") tree,[Object](../../../../java.base/java/lang/Object.html "class in java.lang") value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus)
Sets the value of the current tree cell to value
.
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
. Ifselected
is true, the cell will be drawn as if selected. Ifexpanded
is true the node is currently expanded and ifleaf
is true the node represents a leaf and ifhasFocus
is true the node currently has focus.tree
is theJTree
the receiver is being configured for. Returns theComponent
that the renderer uses to draw the value.
TheTreeCellRenderer
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
- the receiver is being configured for
value
- the value to render
selected
- whether node is selected
expanded
- whether node is expanded
leaf
- whether node is a lead node
row
- row index
hasFocus
- whether node has focus
Returns:
theComponent
that the renderer uses to draw the value