Class TreeUI

Direct Known Subclasses:
BasicTreeUI, MultiTreeUI
public abstract class TreeUI
extends ComponentUI

Pluggable look and feel interface for JTree.

Constructor Summary

Constructors
Constructor Description
TreeUI()

Method Summary

All Methods Instance Methods Abstract Methods
Modifier and Type Method Description
abstract void cancelEditing​(JTree tree)

Cancels the current editing session.

abstract TreePath getClosestPathForLocation​(JTree tree, int x, int y)

Returns the path to the node that is closest to x,y.

abstract TreePath getEditingPath​(JTree tree)

Returns the path to the element that is being edited.

abstract Rectangle getPathBounds​(JTree tree, TreePath path)

Returns the Rectangle enclosing the label portion that the last item in path will be drawn into.

abstract TreePath getPathForRow​(JTree tree, int row)

Returns the path for passed in row.

abstract int getRowCount​(JTree tree)

Returns the number of rows that are being displayed.

abstract int getRowForPath​(JTree tree, TreePath path)

Returns the row that the last item identified in path is visible at.

abstract boolean isEditing​(JTree tree)

Returns true if the tree is being edited.

abstract void startEditingAtPath​(JTree tree, TreePath path)

Selects the last item in path and tries to edit it.

abstract boolean stopEditing​(JTree tree)

Stops the current editing session.

Methods declared in class javax.swing.plaf.ComponentUI

contains, createUI, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, getMaximumSize, getMinimumSize, getPreferredSize, installUI, paint, uninstallUI, update

Methods declared in class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail

TreeUI

public TreeUI()

Method Detail

getPathBounds

public abstract Rectangle getPathBounds​(JTree tree,
                                        TreePath path)

Returns the Rectangle enclosing the label portion that the last item in path will be drawn into. Will return null if any component in path is currently valid.

Parameters:
tree - the JTree for path
path - the TreePath identifying the node
Returns:
the Rectangle enclosing the label portion that the last item in path will be drawn into, null if any component in path is currently valid.

getPathForRow

public abstract TreePath getPathForRow​(JTree tree,
                                       int row)

Returns the path for passed in row. If row is not visible null is returned.

Parameters:
tree - a JTree object
row - an integer specifying a row
Returns:
the path for row or null if row is not visible

getRowForPath

public abstract int getRowForPath​(JTree tree,
                                  TreePath path)

Returns the row that the last item identified in path is visible at. Will return -1 if any of the elements in path are not currently visible.

Parameters:
tree - the JTree for path
path - the TreePath object to look in
Returns:
an integer specifying the row at which the last item identified is visible, -1 if any of the elements in path are not currently visible

getRowCount

public abstract int getRowCount​(JTree tree)

Returns the number of rows that are being displayed.

Parameters:
tree - the JTree for which to count rows
Returns:
an integer specifying the number of row being displayed

getClosestPathForLocation

public abstract TreePath getClosestPathForLocation​(JTree tree,
                                                   int x,
                                                   int y)

Returns the path to the node that is closest to x,y. If there is nothing currently visible this will return null, otherwise it'll always return a valid path. If you need to test if the returned object is exactly at x, y you should get the bounds for the returned path and test x, y against that.

Parameters:
tree - a JTree object
x - an integer giving the number of pixels horizontally from the left edge of the display area
y - an integer giving the number of pixels vertically from the top of the display area, minus any top margin
Returns:
the TreePath node closest to x,y or null if there is nothing currently visible

isEditing

public abstract boolean isEditing​(JTree tree)

Returns true if the tree is being edited. The item that is being edited can be returned by getEditingPath().

Parameters:
tree - a JTree object
Returns:
true if tree is being edited

stopEditing

public abstract boolean stopEditing​(JTree tree)

Stops the current editing session. This has no effect if the tree isn't being edited. Returns true if the editor allows the editing session to stop.

Parameters:
tree - a JTree object
Returns:
true if the editor allows the editing session to stop

cancelEditing

public abstract void cancelEditing​(JTree tree)

Cancels the current editing session. This has no effect if the tree isn't being edited.

Parameters:
tree - a JTree object

startEditingAtPath

public abstract void startEditingAtPath​(JTree tree,
                                        TreePath path)

Selects the last item in path and tries to edit it. Editing will fail if the CellEditor won't allow it for the selected item.

Parameters:
tree - the JTree being edited
path - the TreePath to be edited

getEditingPath

public abstract TreePath getEditingPath​(JTree tree)

Returns the path to the element that is being edited.

Parameters:
tree - the JTree for which to return a path
Returns:
a TreePath containing the path to tree