This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.


javax.swing.plaf.basic
class BasicTreeUI

java.lang.Object extended by javax.swing.plaf.ComponentUI extended by javax.swing.plaf.TreeUI extended by javax.swing.plaf.basic.BasicTreeUI
Direct Known Subclasses:
MetalTreeUI

public class BasicTreeUI
extends TreeUI

The basic L&F for a hierarchical data structure.


Nested Class Summary
 class

           Listener responsible for getting cell editing events and updating the tree accordingly.
 class

           Updates the preferred size when scrolling (if necessary).
 class

           Repaints the lead selection row when focus is lost/gained.
 class

           This is used to get mutliple key down events to appropriately generate events.
 class

           TreeMouseListener is responsible for updating the selection based on mouse events.
 class

           MouseInputHandler handles passing all mouse events, including mouse motion events, until the mouse is released to the destination it is constructed with.
 class

           Class responsible for getting size of node, method is forwarded to BasicTreeUI method.
 class

           PropertyChangeListener for the tree.
 class

           Listener on the TreeSelectionModel, resets the row selection if any of the properties of the model change.
 class

           ActionListener that invokes cancelEditing when action performed.
 class

           Updates the TreeState in response to nodes expanding/collapsing.
 class

           TreeHomeAction is used to handle end/home actions.
 class

           TreeIncrementAction is used to handle up/down actions.
 class

           Forwards all TreeModel events to the TreeState.
 class

           TreePageAction handles page up and page down events.
 class

           Listens for changes in the selection model and updates the display accordingly.
 class

           For the first selected row expandedness will be toggled.
 class

           TreeTraverseAction is the action used for left/right keys.
 
Field Summary
protected transient TreeCellEditor cellEditor
          Editor for the tree.
protected transient Icon collapsedIcon
          
protected boolean createdCellEditor
          Set to true if editor that is currently in the tree was created by this instance.
protected boolean createdRenderer
          Set to true if the renderer that is currently in the tree was created by this instance.
protected transient TreeCellRenderer currentCellRenderer
          Renderer that is being used to do the actual cell drawing.
protected int depthOffset
          How much the depth should be offset to properly calculate x locations.
protected Hashtable drawingCache
          Used for minimizing the drawing of vertical lines.
protected Component editingComponent
          When editing, this will be the Component that is doing the actual editing.
protected TreePath editingPath
          Path that is being edited.
protected int editingRow
          Row that is being edited.
protected boolean editorHasDifferentSize
          Set to true if the editor has a different size than the renderer.
protected transient Icon expandedIcon
          
protected boolean largeModel
          True if doing optimizations for a largeModel.
protected int lastSelectedRow
          Index of the row that was last selected.
protected int leftChildIndent
          Distance between left margin and where vertical dashes will be drawn.
protected AbstractLayoutCache.NodeDimensions nodeDimensions
          Reponsible for telling the TreeState the size needed for a node.
protected Dimension preferredMinSize
          Minimum preferred size.
protected Dimension preferredSize
          Size needed to completely display all the nodes.
protected CellRendererPane rendererPane
          Used to paint the TreeCellRenderer.
protected int rightChildIndent
          Distance to add to leftChildIndent to determine where cell contents will be drawn.
protected boolean stopEditingInCompleteEditing
          Set to false when editing and shouldSelectCell() returns true meaning the node should be selected before editing, used in completeEditing.
protected int totalChildIndent
          Total distance that will be indented.
protected JTree tree
          Component that we're going to be drawing into.
protected TreeModel treeModel
          Used to determine what to display.
protected TreeSelectionModel treeSelectionModel
          Model maintaing the selection.
protected AbstractLayoutCache treeState
          Object responsible for handling sizing and expanded issues.
protected boolean validCachedPreferredSize
          Is the preferredSize valid?
 
Constructor Summary

          
 
Method Summary
 void

          Cancels the current editing session.
protected void
checkForClickInExpandControl(TreePath path, int mouseX, int mouseY)

          If the mouseX and mouseY are in the expand/collapse region of the row, this will toggle the row.
protected void

          Messages to stop the editing session.
protected void
completeEditing(boolean messageStop, boolean messageCancel, boolean messageTree)

          Stops the editing session.
protected void

          Invoked from installUI after all the defaults/listeners have been installed.
protected void

          
protected void

          Resets the TreeState instance based on the tree we're providing the look and feel for.
protected CellEditorListener

          Creates a listener to handle events from the current editor.
protected CellRendererPane

          Returns the renderer pane that renderer components are placed in.
protected ComponentListener

          Creates and returns a new ComponentHandler.
protected TreeCellEditor

          Creates a default cell editor.
protected TreeCellRenderer

          Returns the default cell renderer that is used to do the stamping of each node.
protected FocusListener

          Creates a listener that is responsible for updating the display when focus is lost/gained.
protected KeyListener

          Creates the listener reponsible for getting key events from the tree.
protected AbstractLayoutCache

          Creates the object responsible for managing what is expanded, as well as the size of nodes.
protected MouseListener

          Creates the listener responsible for updating the selection based on mouse events.
protected AbstractLayoutCache.NodeDimensions

          Creates an instance of NodeDimensions that is able to determine the size of a given node in the tree.
protected PropertyChangeListener

          Creates a listener that is responsible that updates the UI based on how the tree changes.
protected PropertyChangeListener

          Creates the listener responsible for getting property change events from the selection model.
protected TreeExpansionListener

          Creates and returns the object responsible for updating the treestate when nodes expanded state changes.
protected TreeModelListener

          Returns a listener that can update the tree when the model changes.
protected TreeSelectionListener

          Creates the listener that updates the display based on selection change methods.
static ComponentUI

          
protected void
drawCentered(Component c, Graphics graphics, Icon icon, int x, int y)

          
protected void
drawDashedHorizontalLine(Graphics g, int y, int x1, int x2)

          
protected void
drawDashedVerticalLine(Graphics g, int x, int y1, int y2)

          
protected void
ensureRowsAreVisible(int beginRow, int endRow)

          Ensures that the rows identified by beginRow through endRow are visible.
 int
getBaseline(JComponent c, int width, int height)

          Returns the baseline.
 Component.BaselineResizeBehavior

          Returns an enum indicating how the baseline of the component changes as the size changes.
protected TreeCellEditor

          
protected TreeCellRenderer

          Return currentCellRenderer, which will either be the trees renderer, or defaultCellRenderer, which ever wasn't null.
 TreePath
getClosestPathForLocation(JTree tree, int x, int y)

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

          
 TreePath

          Returns the path to the element that is being edited.
 Icon

          
protected Color

          
protected int

          The horizontal element of legs between nodes starts at the right of the left-hand side of the child node by default.
protected TreePath

          Returns a path to the last child of parent.
 int

          
 Dimension

          Returns the maximum size for this component, which will be the preferred size if the instance is currently in a JTree, or 0, 0.
 Dimension

          Returns the minimum size for this component.
protected TreeModel

          
 Rectangle

          Returns the Rectangle enclosing the label portion that the last item in path will be drawn into.
 TreePath
getPathForRow(JTree tree, int row)

          Returns the path for passed in row.
 Dimension

          Returns the minimum preferred size.
 Dimension

          Returns the preferred size to properly display the tree, this is a cover method for getPreferredSize(c, false).
 Dimension
getPreferredSize(JComponent c, boolean checkConsistancy)

          Returns the preferred size to represent the tree in c.
 int

          
 int

          Returns the number of rows that are being displayed.
 int

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

          
protected int
getRowX(int row, int depth)

          Returns the location, along the x-axis, to render a particular row at.
protected TreeSelectionModel

          
protected boolean

          
protected int

          The vertical element of legs between nodes starts at the bottom of the parent node by default.
protected void
handleExpandControlClick(TreePath path, int mouseX, int mouseY)

          Messaged when the user clicks the particular row, this invokes toggleExpandState.
protected void

          Intalls the subcomponents of the tree, which is the renderer pane.
protected void

          
protected void

          
protected void

          
 void

          Configures the specified component appropriate for the look and feel.
protected boolean

          
 boolean

          Returns true if the tree is being edited.
protected boolean

          
protected boolean
isLeaf(int row)

          
protected boolean
isLocationInExpandControl(TreePath path, int mouseX, int mouseY)

          Returns true if mouseX and mouseY fall in the area of row that is used to expand/collapse the node and the node at row does not represent a leaf.
protected boolean

          Returning true signifies a mouse event on the node should select from the anchor point.
protected boolean

          
protected boolean

          Returning true indicates the row under the mouse should be toggled based on the event.
protected boolean

          Returning true signifies a mouse event on the node should toggle the selection of only the row under mouse.
 void

          Paints the specified component appropriate for the look and feel.
protected void
paintExpandControl(Graphics g, Rectangle clipBounds, Insets insets, Rectangle bounds, TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf)

          Paints the expand (toggle) part of a row.
protected void
paintHorizontalLine(Graphics g, JComponent c, int y, int left, int right)

          Paints a horizontal line.
protected void
paintHorizontalPartOfLeg(Graphics g, Rectangle clipBounds, Insets insets, Rectangle bounds, TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf)

          Paints the horizontal part of the leg.
protected void
paintRow(Graphics g, Rectangle clipBounds, Insets insets, Rectangle bounds, TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf)

          Paints the renderer part of a row.
protected void
paintVerticalLine(Graphics g, JComponent c, int x, int top, int bottom)

          Paints a vertical line.
protected void
paintVerticalPartOfLeg(Graphics g, Rectangle clipBounds, Insets insets, TreePath path)

          Paints the vertical part of the leg.
protected void

          Messaged from the VisibleTreeNode after it has collapsed.
protected void

          Messaged from the VisibleTreeNode after it has been expanded.
protected void

          Invoked after the tree instance variable has been set, but before any defaults/listeners have been installed.
protected void

          
protected void

          Messaged to update the selection based on a MouseEvent over a particular row.
protected void

          Sets the cell editor.
protected void

          Sets the TreeCellRenderer to tcr.
 void

          
protected void
setEditable(boolean newValue)

          Configures the receiver to allow, or not allow, editing.
 void

          
protected void

          
protected void
setLargeModel(boolean largeModel)

          Updates the componentListener, if necessary.
 void
setLeftChildIndent(int newAmount)

          
protected void

          Sets the TreeModel.
 void

          Sets the preferred minimum size.
 void
setRightChildIndent(int newAmount)

          
protected void
setRootVisible(boolean newValue)

          Sets the root to being visible.
protected void
setRowHeight(int rowHeight)

          Sets the row height, this is forwarded to the treeState.
protected void

          Resets the selection model.
protected void
setShowsRootHandles(boolean newValue)

          Determines whether the node handles are to be displayed.
protected boolean
shouldPaintExpandControl(TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf)

          Returns true if the expand (toggle) control should be drawn for the specified row.
protected boolean

          Will start editing for node if there is a cellEditor and shouldSelectCell returns true.
 void

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

          Stops the current editing session.
protected void

          Expands path if it is not expanded, or collapses row if it is expanded.
protected void

          Uninstalls the renderer pane.
protected void

          
protected void

          
protected void

          
 void

          Reverses configuration which was done on the specified component during installUI.
protected void

          Updates the preferredSize instance variable, which is returned from getPreferredSize().
protected void

          Updates the cellEditor based on the editability of the JTree that we're contained in.
protected void

          Updates how much each depth should be offset by.
protected void

          Updates the expanded state of all the descendants of path by getting the expanded descendants from the tree and forwarding to the tree state.
protected void

          Makes all the nodes that are expanded in JTree expanded in LayoutCache.
protected void

          Messaged from the tree we're in when the renderer has changed.
protected void

          Marks the cached size as being invalid, and messages the tree with treeDidChange.
 
Methods inherited from class javax.swing.plaf.TreeUI
cancelEditing, getClosestPathForLocation, getEditingPath, getPathBounds, getPathForRow, getRowCount, getRowForPath, isEditing, startEditingAtPath, stopEditing
 
Methods inherited from class javax.swing.plaf.ComponentUI
contains, createUI, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, getMaximumSize, getMinimumSize, getPreferredSize, installUI, paint, uninstallUI, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

cellEditor

protected transient TreeCellEditor cellEditor
Editor for the tree.

collapsedIcon

protected transient Icon collapsedIcon

createdCellEditor

protected boolean createdCellEditor
Set to true if editor that is currently in the tree was created by this instance.

createdRenderer

protected boolean createdRenderer
Set to true if the renderer that is currently in the tree was created by this instance.

currentCellRenderer

protected transient TreeCellRenderer currentCellRenderer
Renderer that is being used to do the actual cell drawing.

depthOffset

protected int depthOffset
How much the depth should be offset to properly calculate x locations. This is based on whether or not the root is visible, and if the root handles are visible.

drawingCache

protected Hashtable drawingCache
Used for minimizing the drawing of vertical lines.

editingComponent

protected Component editingComponent
When editing, this will be the Component that is doing the actual editing.

editingPath

protected TreePath editingPath
Path that is being edited.

editingRow

protected int editingRow
Row that is being edited. Should only be referenced if editingComponent is not null.

editorHasDifferentSize

protected boolean editorHasDifferentSize
Set to true if the editor has a different size than the renderer.

expandedIcon

protected transient Icon expandedIcon

largeModel

protected boolean largeModel
True if doing optimizations for a largeModel. Subclasses that don't support this may wish to override createLayoutCache to not return a FixedHeightLayoutCache instance.

lastSelectedRow

protected int lastSelectedRow
Index of the row that was last selected.

leftChildIndent

protected int leftChildIndent
Distance between left margin and where vertical dashes will be drawn.

nodeDimensions

protected AbstractLayoutCache.NodeDimensions nodeDimensions
Reponsible for telling the TreeState the size needed for a node.

preferredMinSize

protected Dimension preferredMinSize
Minimum preferred size.

preferredSize

protected Dimension preferredSize
Size needed to completely display all the nodes.

rendererPane

protected CellRendererPane rendererPane
Used to paint the TreeCellRenderer.

rightChildIndent

protected int rightChildIndent
Distance to add to leftChildIndent to determine where cell contents will be drawn.

stopEditingInCompleteEditing

protected boolean stopEditingInCompleteEditing
Set to false when editing and shouldSelectCell() returns true meaning the node should be selected before editing, used in completeEditing.

totalChildIndent

protected int totalChildIndent
Total distance that will be indented. The sum of leftChildIndent and rightChildIndent.

tree

protected JTree tree
Component that we're going to be drawing into.

treeModel

protected TreeModel treeModel
Used to determine what to display.

treeSelectionModel

protected TreeSelectionModel treeSelectionModel
Model maintaing the selection.

treeState

protected AbstractLayoutCache treeState
Object responsible for handling sizing and expanded issues.

validCachedPreferredSize

protected boolean validCachedPreferredSize
Is the preferredSize valid?
Constructor Detail

BasicTreeUI

public BasicTreeUI()
Method Detail

cancelEditing

public void cancelEditing(JTree tree)
Cancels the current editing session.

Overrides:
cancelEditing in class TreeUI
Parameters:
tree

checkForClickInExpandControl

protected void checkForClickInExpandControl(TreePath path,
                                            int mouseX,
                                            int mouseY)
If the mouseX and mouseY are in the expand/collapse region of the row, this will toggle the row.

Parameters:
path
mouseX
mouseY

completeEditing

protected void completeEditing()
Messages to stop the editing session. If the UI the receiver is providing the look and feel for returns true from getInvokesStopCellEditing, stopCellEditing will invoked on the current editor. Then completeEditing will be messaged with false, true, false to cancel any lingering editing.


completeEditing

protected void completeEditing(boolean messageStop,
                               boolean messageCancel,
                               boolean messageTree)
Stops the editing session. If messageStop is true the editor is messaged with stopEditing, if messageCancel is true the editor is messaged with cancelEditing. If messageTree is true the treeModel is messaged with valueForPathChanged.

Parameters:
messageStop
messageCancel
messageTree

completeUIInstall

protected void completeUIInstall()
Invoked from installUI after all the defaults/listeners have been installed.


completeUIUninstall

protected void completeUIUninstall()

configureLayoutCache

protected void configureLayoutCache()
Resets the TreeState instance based on the tree we're providing the look and feel for.


createCellEditorListener

protected CellEditorListener createCellEditorListener()
Creates a listener to handle events from the current editor.


createCellRendererPane

protected CellRendererPane createCellRendererPane()
Returns the renderer pane that renderer components are placed in.


createComponentListener

protected ComponentListener createComponentListener()
Creates and returns a new ComponentHandler. This is used for the large model to mark the validCachedPreferredSize as invalid when the component moves.


createDefaultCellEditor

protected TreeCellEditor createDefaultCellEditor()
Creates a default cell editor.


createDefaultCellRenderer

protected TreeCellRenderer createDefaultCellRenderer()
Returns the default cell renderer that is used to do the stamping of each node.


createFocusListener

protected FocusListener createFocusListener()
Creates a listener that is responsible for updating the display when focus is lost/gained.


createKeyListener

protected KeyListener createKeyListener()
Creates the listener reponsible for getting key events from the tree.


createLayoutCache

protected AbstractLayoutCache createLayoutCache()
Creates the object responsible for managing what is expanded, as well as the size of nodes.


createMouseListener

protected MouseListener createMouseListener()
Creates the listener responsible for updating the selection based on mouse events.


createNodeDimensions

protected AbstractLayoutCache.NodeDimensions createNodeDimensions()
Creates an instance of NodeDimensions that is able to determine the size of a given node in the tree.


createPropertyChangeListener

protected PropertyChangeListener createPropertyChangeListener()
Creates a listener that is responsible that updates the UI based on how the tree changes.


createSelectionModelPropertyChangeListener

protected PropertyChangeListener createSelectionModelPropertyChangeListener()
Creates the listener responsible for getting property change events from the selection model.


createTreeExpansionListener

protected TreeExpansionListener createTreeExpansionListener()
Creates and returns the object responsible for updating the treestate when nodes expanded state changes.


createTreeModelListener

protected TreeModelListener createTreeModelListener()
Returns a listener that can update the tree when the model changes.


createTreeSelectionListener

protected TreeSelectionListener createTreeSelectionListener()
Creates the listener that updates the display based on selection change methods.


createUI

public static ComponentUI createUI(JComponent x)
Parameters:
x

drawCentered

protected void drawCentered(Component c,
                            Graphics graphics,
                            Icon icon,
                            int x,
                            int y)
Parameters:
c
graphics
icon
x
y

drawDashedHorizontalLine

protected void drawDashedHorizontalLine(Graphics g,
                                        int y,
                                        int x1,
                                        int x2)
Parameters:
g
y
x1
x2

drawDashedVerticalLine

protected void drawDashedVerticalLine(Graphics g,
                                      int x,
                                      int y1,
                                      int y2)
Parameters:
g
x
y1
y2

ensureRowsAreVisible

protected void ensureRowsAreVisible(int beginRow,
                                    int endRow)
Ensures that the rows identified by beginRow through endRow are visible.

Parameters:
beginRow
endRow

getBaseline

public int getBaseline(JComponent c,
                       int width,
                       int height)
Returns the baseline.

Overrides:
getBaseline in class ComponentUI
Parameters:
c
width
height

getBaselineResizeBehavior

public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
Returns an enum indicating how the baseline of the component changes as the size changes.

Overrides:
getBaselineResizeBehavior in class ComponentUI
Parameters:
c

getCellEditor

protected TreeCellEditor getCellEditor()

getCellRenderer

protected TreeCellRenderer getCellRenderer()
Return currentCellRenderer, which will either be the trees renderer, or defaultCellRenderer, which ever wasn't null.


getClosestPathForLocation

public 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.

Overrides:
getClosestPathForLocation in class TreeUI
Parameters:
tree
x
y

getCollapsedIcon

public Icon getCollapsedIcon()

getEditingPath

public TreePath getEditingPath(JTree tree)
Returns the path to the element that is being edited.

Overrides:
getEditingPath in class TreeUI
Parameters:
tree

getExpandedIcon

public Icon getExpandedIcon()

getHashColor

protected Color getHashColor()

getHorizontalLegBuffer

protected int getHorizontalLegBuffer()
The horizontal element of legs between nodes starts at the right of the left-hand side of the child node by default. This method makes the leg end before that.


getLastChildPath

protected TreePath getLastChildPath(TreePath parent)
Returns a path to the last child of parent.

Parameters:
parent

getLeftChildIndent

public int getLeftChildIndent()

getMaximumSize

public Dimension getMaximumSize(JComponent c)
Returns the maximum size for this component, which will be the preferred size if the instance is currently in a JTree, or 0, 0.

Overrides:
getMaximumSize in class ComponentUI
Parameters:
c

getMinimumSize

public Dimension getMinimumSize(JComponent c)
Returns the minimum size for this component. Which will be the min preferred size or 0, 0.

Overrides:
getMinimumSize in class ComponentUI
Parameters:
c

getModel

protected TreeModel getModel()

getPathBounds

public 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.

Overrides:
getPathBounds in class TreeUI
Parameters:
tree
path

getPathForRow

public TreePath getPathForRow(JTree tree,
                              int row)
Returns the path for passed in row. If row is not visible null is returned.

Overrides:
getPathForRow in class TreeUI
Parameters:
tree
row

getPreferredMinSize

public Dimension getPreferredMinSize()
Returns the minimum preferred size.


getPreferredSize

public Dimension getPreferredSize(JComponent c)
Returns the preferred size to properly display the tree, this is a cover method for getPreferredSize(c, false).

Overrides:
getPreferredSize in class ComponentUI
Parameters:
c

getPreferredSize

public Dimension getPreferredSize(JComponent c,
                                  boolean checkConsistancy)
Returns the preferred size to represent the tree in c. If checkConsistancy is true checkConsistancy is messaged first.

Parameters:
c
checkConsistancy

getRightChildIndent

public int getRightChildIndent()

getRowCount

public int getRowCount(JTree tree)
Returns the number of rows that are being displayed.

Overrides:
getRowCount in class TreeUI
Parameters:
tree

getRowForPath

public 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.

Overrides:
getRowForPath in class TreeUI
Parameters:
tree
path

getRowHeight

protected int getRowHeight()

getRowX

protected int getRowX(int row,
                      int depth)
Returns the location, along the x-axis, to render a particular row at. The return value does not include any Insets specified on the JTree. This does not check for the validity of the row or depth, it is assumed to be correct and will not throw an Exception if the row or depth doesn't match that of the tree.

Parameters:
row - Row to return x location for
depth - Depth of the row
Returns:
amount to indent the given row.

getSelectionModel

protected TreeSelectionModel getSelectionModel()

getShowsRootHandles

protected boolean getShowsRootHandles()

getVerticalLegBuffer

protected int getVerticalLegBuffer()
The vertical element of legs between nodes starts at the bottom of the parent node by default. This method makes the leg start below that.


handleExpandControlClick

protected void handleExpandControlClick(TreePath path,
                                        int mouseX,
                                        int mouseY)
Messaged when the user clicks the particular row, this invokes toggleExpandState.

Parameters:
path
mouseX
mouseY

installComponents

protected void installComponents()
Intalls the subcomponents of the tree, which is the renderer pane.


installDefaults

protected void installDefaults()

installKeyboardActions

protected void installKeyboardActions()

installListeners

protected void installListeners()

installUI

public void installUI(JComponent c)
Overrides:
installUI in class ComponentUI
Parameters:
c

isEditable

protected boolean isEditable()

isEditing

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

Overrides:
isEditing in class TreeUI
Parameters:
tree

isLargeModel

protected boolean isLargeModel()

isLeaf

protected boolean isLeaf(int row)
Parameters:
row
Returns:
true if the node at row is a leaf.

isLocationInExpandControl

protected boolean isLocationInExpandControl(TreePath path,
                                            int mouseX,
                                            int mouseY)
Returns true if mouseX and mouseY fall in the area of row that is used to expand/collapse the node and the node at row does not represent a leaf.

Parameters:
path
mouseX
mouseY

isMultiSelectEvent

protected boolean isMultiSelectEvent(MouseEvent event)
Returning true signifies a mouse event on the node should select from the anchor point.

Parameters:
event

isRootVisible

protected boolean isRootVisible()

isToggleEvent

protected boolean isToggleEvent(MouseEvent event)
Returning true indicates the row under the mouse should be toggled based on the event. This is invoked after checkForClickInExpandControl, implying the location is not in the expand (toggle) control

Parameters:
event

isToggleSelectionEvent

protected boolean isToggleSelectionEvent(MouseEvent event)
Returning true signifies a mouse event on the node should toggle the selection of only the row under mouse.

Parameters:
event

paint

public void paint(Graphics g,
                  JComponent c)
Overrides:
paint in class ComponentUI
Parameters:
g
c

paintExpandControl

protected void paintExpandControl(Graphics g,
                                  Rectangle clipBounds,
                                  Insets insets,
                                  Rectangle bounds,
                                  TreePath path,
                                  int row,
                                  boolean isExpanded,
                                  boolean hasBeenExpanded,
                                  boolean isLeaf)
Paints the expand (toggle) part of a row. The receiver should NOT modify clipBounds, or insets.

Parameters:
g
clipBounds
insets
bounds
path
row
isExpanded
hasBeenExpanded
isLeaf

paintHorizontalLine

protected void paintHorizontalLine(Graphics g,
                                   JComponent c,
                                   int y,
                                   int left,
                                   int right)
Paints a horizontal line.

Parameters:
g
c
y
left
right

paintHorizontalPartOfLeg

protected void paintHorizontalPartOfLeg(Graphics g,
                                        Rectangle clipBounds,
                                        Insets insets,
                                        Rectangle bounds,
                                        TreePath path,
                                        int row,
                                        boolean isExpanded,
                                        boolean hasBeenExpanded,
                                        boolean isLeaf)
Paints the horizontal part of the leg. The receiver should NOT modify clipBounds, or insets.

NOTE: parentRow can be -1 if the root is not visible.

Parameters:
g
clipBounds
insets
bounds
path
row
isExpanded
hasBeenExpanded
isLeaf

paintRow

protected void paintRow(Graphics g,
                        Rectangle clipBounds,
                        Insets insets,
                        Rectangle bounds,
                        TreePath path,
                        int row,
                        boolean isExpanded,
                        boolean hasBeenExpanded,
                        boolean isLeaf)
Paints the renderer part of a row. The receiver should NOT modify clipBounds, or insets.

Parameters:
g
clipBounds
insets
bounds
path
row
isExpanded
hasBeenExpanded
isLeaf

paintVerticalLine

protected void paintVerticalLine(Graphics g,
                                 JComponent c,
                                 int x,
                                 int top,
                                 int bottom)
Paints a vertical line.

Parameters:
g
c
x
top
bottom

paintVerticalPartOfLeg

protected void paintVerticalPartOfLeg(Graphics g,
                                      Rectangle clipBounds,
                                      Insets insets,
                                      TreePath path)
Paints the vertical part of the leg. The receiver should NOT modify clipBounds, insets.

Parameters:
g
clipBounds
insets
path

pathWasCollapsed

protected void pathWasCollapsed(TreePath path)
Messaged from the VisibleTreeNode after it has collapsed.

Parameters:
path

pathWasExpanded

protected void pathWasExpanded(TreePath path)
Messaged from the VisibleTreeNode after it has been expanded.

Parameters:
path

prepareForUIInstall

protected void prepareForUIInstall()
Invoked after the tree instance variable has been set, but before any defaults/listeners have been installed.


prepareForUIUninstall

protected void prepareForUIUninstall()

selectPathForEvent

protected void selectPathForEvent(TreePath path,
                                  MouseEvent event)
Messaged to update the selection based on a MouseEvent over a particular row. If the event is a toggle selection event, the row is either selected, or deselected. If the event identifies a multi selection event, the selection is updated from the anchor point. Otherwise the row is selected, and if the event specified a toggle event the row is expanded/collapsed.

Parameters:
path
event

setCellEditor

protected void setCellEditor(TreeCellEditor editor)
Sets the cell editor.

Parameters:
editor

setCellRenderer

protected void setCellRenderer(TreeCellRenderer tcr)
Sets the TreeCellRenderer to tcr. This invokes updateRenderer.

Parameters:
tcr

setCollapsedIcon

public void setCollapsedIcon(Icon newG)
Parameters:
newG

setEditable

protected void setEditable(boolean newValue)
Configures the receiver to allow, or not allow, editing.

Parameters:
newValue

setExpandedIcon

public void setExpandedIcon(Icon newG)
Parameters:
newG

setHashColor

protected void setHashColor(Color color)
Parameters:
color

setLargeModel

protected void setLargeModel(boolean largeModel)
Updates the componentListener, if necessary.

Parameters:
largeModel

setLeftChildIndent

public void setLeftChildIndent(int newAmount)
Parameters:
newAmount

setModel

protected void setModel(TreeModel model)
Sets the TreeModel.

Parameters:
model

setPreferredMinSize

public void setPreferredMinSize(Dimension newSize)
Sets the preferred minimum size.

Parameters:
newSize

setRightChildIndent

public void setRightChildIndent(int newAmount)
Parameters:
newAmount

setRootVisible

protected void setRootVisible(boolean newValue)
Sets the root to being visible.

Parameters:
newValue

setRowHeight

protected void setRowHeight(int rowHeight)
Sets the row height, this is forwarded to the treeState.

Parameters:
rowHeight

setSelectionModel

protected void setSelectionModel(TreeSelectionModel newLSM)
Resets the selection model. The appropriate listener are installed on the model.

Parameters:
newLSM

setShowsRootHandles

protected void setShowsRootHandles(boolean newValue)
Determines whether the node handles are to be displayed.

Parameters:
newValue

shouldPaintExpandControl

protected boolean shouldPaintExpandControl(TreePath path,
                                           int row,
                                           boolean isExpanded,
                                           boolean hasBeenExpanded,
                                           boolean isLeaf)
Returns true if the expand (toggle) control should be drawn for the specified row.

Parameters:
path
row
isExpanded
hasBeenExpanded
isLeaf

startEditing

protected boolean startEditing(TreePath path,
                               MouseEvent event)
Will start editing for node if there is a cellEditor and shouldSelectCell returns true.

This assumes that path is valid and visible.

Parameters:
path
event

startEditingAtPath

public 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.

Overrides:
startEditingAtPath in class TreeUI
Parameters:
tree
path

stopEditing

public 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.

Overrides:
stopEditing in class TreeUI
Parameters:
tree

toggleExpandState

protected void toggleExpandState(TreePath path)
Expands path if it is not expanded, or collapses row if it is expanded. If expanding a path and JTree scrolls on expand, ensureRowsAreVisible is invoked to scroll as many of the children to visible as possible (tries to scroll to last visible descendant of path).

Parameters:
path

uninstallComponents

protected void uninstallComponents()
Uninstalls the renderer pane.


uninstallDefaults

protected void uninstallDefaults()

uninstallKeyboardActions

protected void uninstallKeyboardActions()

uninstallListeners

protected void uninstallListeners()

uninstallUI

public void uninstallUI(JComponent c)
Overrides:
uninstallUI in class ComponentUI
Parameters:
c

updateCachedPreferredSize

protected void updateCachedPreferredSize()
Updates the preferredSize instance variable, which is returned from getPreferredSize().

For left to right orientations, the size is determined from the current AbstractLayoutCache. For RTL orientations, the preferred size becomes the width minus the minimum x position.


updateCellEditor

protected void updateCellEditor()
Updates the cellEditor based on the editability of the JTree that we're contained in. If the tree is editable but doesn't have a cellEditor, a basic one will be used.


updateDepthOffset

protected void updateDepthOffset()
Updates how much each depth should be offset by.


updateExpandedDescendants

protected void updateExpandedDescendants(TreePath path)
Updates the expanded state of all the descendants of path by getting the expanded descendants from the tree and forwarding to the tree state.

Parameters:
path

updateLayoutCacheExpandedNodes

protected void updateLayoutCacheExpandedNodes()
Makes all the nodes that are expanded in JTree expanded in LayoutCache. This invokes updateExpandedDescendants with the root path.


updateRenderer

protected void updateRenderer()
Messaged from the tree we're in when the renderer has changed.


updateSize

protected void updateSize()
Marks the cached size as being invalid, and messages the tree with treeDidChange.



This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.
This page displays the Jadeite version of the documention, which is derived from the offical documentation that contains this copyright notice:
Copyright 2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.
The official Sun™ documentation can be found here at http://java.sun.com/javase/6/docs/api/.