API Overview API Index Package Overview Direct link to this page
JDK 1.6
  javax.swing.plaf.basic. BasicTreeUI View Source
Author(s)
Scott Violet
Shannon Hickey (drag and drop)
Since
Version
1.196 01/08/07
Serial
Hierarchy
 Object
      ComponentUI
          TreeUI
              BasicTreeUI
Implements
Subclasses
Description
public class BasicTreeUI
  The basic L&F for a hierarchical data structure.
See also:   
Constructors
public BasicTreeUI ()
Methods
Hide/Show inherited methods
public void cancelEditing (JTree tree) [Specified in TreeUI]
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 completeEditing ()
  Messages to stop the editing session.
protected void completeEditing (boolean messageStop, boolean messageCancel, boolean messageTree)
  Stops the editing session.
protected void completeUIInstall ()
Invoked from installUI after all the defaults/listeners have been installed.
protected void completeUIUninstall ()
protected void configureLayoutCache ()
Resets the TreeState instance based on the tree we're providing the look and feel for.
public boolean contains (JComponent c, int x, int y) [Inherited From ComponentUI]
  Returns true if the specified x,y location is contained within the look and feel's defined shape of the specified component.
protected CellEditorListener createCellEditorListener ()
Creates a listener to handle events from the current editor.
protected CellRendererPane createCellRendererPane ()
Returns the renderer pane that renderer components are placed in.
protected ComponentListener createComponentListener ()
  Creates and returns a new ComponentHandler.
protected TreeCellEditor createDefaultCellEditor ()
Creates a default cell editor.
protected TreeCellRenderer createDefaultCellRenderer ()
Returns the default cell renderer that is used to do the stamping of each node.
protected FocusListener createFocusListener ()
Creates a listener that is responsible for updating the display when focus is lost/gained.
protected KeyListener createKeyListener ()
Creates the listener reponsible for getting key events from the tree.
protected AbstractLayoutCache createLayoutCache ()
Creates the object responsible for managing what is expanded, as well as the size of nodes.
protected MouseListener createMouseListener ()
Creates the listener responsible for updating the selection based on mouse events.
protected NodeDimensions createNodeDimensions ()
Creates an instance of NodeDimensions that is able to determine the size of a given node in the tree.
protected PropertyChangeListener createPropertyChangeListener ()
Creates a listener that is responsible that updates the UI based on how the tree changes.
protected PropertyChangeListener createSelectionModelPropertyChangeListener ()
Creates the listener responsible for getting property change events from the selection model.
protected TreeExpansionListener createTreeExpansionListener ()
Creates and returns the object responsible for updating the treestate when nodes expanded state changes.
protected TreeModelListener createTreeModelListener ()
Returns a listener that can update the tree when the model changes.
protected TreeSelectionListener createTreeSelectionListener ()
Creates the listener that updates the display based on selection change methods.
publicstatic ComponentUI createUI (JComponent x) [Overrides 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.
public Accessible getAccessibleChild (JComponent c, int i) [Inherited From ComponentUI]
  Returns the ith Accessible child of the object.
public int getAccessibleChildrenCount (JComponent c) [Inherited From ComponentUI]
  Returns the number of accessible children in the object.
public int getBaseline (JComponent c, int width, int height) [Overrides ComponentUI]
  Returns the baseline.
public BaselineResizeBehavior getBaselineResizeBehavior (JComponent c) [Overrides ComponentUI]
  Returns an enum indicating how the baseline of the component changes as the size changes.
protected TreeCellEditor getCellEditor ()
protected TreeCellRenderer getCellRenderer ()
Return currentCellRenderer, which will either be the trees renderer, or defaultCellRenderer, which ever wasn't null.
public TreePath getClosestPathForLocation (JTree tree, int x, int y) [Specified in TreeUI]
  Returns the path to the node that is closest to x,y.
public Icon getCollapsedIcon ()
public TreePath getEditingPath (JTree tree) [Specified in TreeUI]
Returns the path to the element that is being edited.
public Icon getExpandedIcon ()
protected Color getHashColor ()
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.
pack-private InputMap getInputMap (int condition)
protected TreePath getLastChildPath (TreePath parent)
Returns a path to the last child of parent.
public int getLeftChildIndent ()
public Dimension getMaximumSize (JComponent c) [Overrides ComponentUI]
Returns the maximum size for this component, which will be the preferred size if the instance is currently in a JTree, or 0, 0.
public Dimension getMinimumSize (JComponent c) [Overrides ComponentUI]
  Returns the minimum size for this component.
protected TreeModel getModel ()
public Rectangle getPathBounds (JTree tree, TreePath path) [Specified in TreeUI]
  Returns the Rectangle enclosing the label portion that the last item in path will be drawn into.
public TreePath getPathForRow (JTree tree, int row) [Specified in TreeUI]
  Returns the path for passed in row.
public Dimension getPreferredMinSize ()
Returns the minimum preferred size.
public Dimension getPreferredSize (JComponent c) [Overrides ComponentUI]
Returns the preferred size to properly display the tree, this is a cover method for getPreferredSize(c, false).
public Dimension getPreferredSize (JComponent c, boolean checkConsistancy)
  Returns the preferred size to represent the tree in c.
public int getRightChildIndent ()
public int getRowCount (JTree tree) [Specified in TreeUI]
Returns the number of rows that are being displayed.
public int getRowForPath (JTree tree, TreePath path) [Specified in TreeUI]
  Returns the row that the last item identified in path is visible at.
protected int getRowHeight ()
protected int getRowX (int row, int depth)
  Returns the location, along the x-axis, to render a particular row at.
protected TreeSelectionModel getSelectionModel ()
protected boolean getShowsRootHandles ()
protected int getVerticalLegBuffer ()
  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 installComponents ()
Intalls the subcomponents of the tree, which is the renderer pane.
protected void installDefaults ()
protected void installKeyboardActions ()
protected void installListeners ()
public void installUI (JComponent c) [Overrides ComponentUI]
protected boolean isEditable ()
public boolean isEditing (JTree tree) [Specified in TreeUI]
  Returns true if the tree is being edited.
protected boolean isLargeModel ()
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 isMultiSelectEvent (MouseEvent event)
Returning true signifies a mouse event on the node should select from the anchor point.
protected boolean isRootVisible ()
protected boolean isToggleEvent (MouseEvent event)
  Returning true indicates the row under the mouse should be toggled based on the event.
protected boolean isToggleSelectionEvent (MouseEvent event)
Returning true signifies a mouse event on the node should toggle the selection of only the row under mouse.
pack-privatestatic void loadActionMap (LazyActionMap map)
public void paint (Graphics g, JComponent c) [Overrides ComponentUI]
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 pathWasCollapsed (TreePath path)
Messaged from the VisibleTreeNode after it has collapsed.
protected void pathWasExpanded (TreePath path)
Messaged from the VisibleTreeNode after it has been expanded.
protected void prepareForUIInstall ()
Invoked after the tree instance variable has been set, but before any defaults/listeners have been installed.
protected void prepareForUIUninstall ()
protected void selectPathForEvent (TreePath path, MouseEvent event)
  Messaged to update the selection based on a MouseEvent over a particular row.
protected void setCellEditor (TreeCellEditor editor)
Sets the cell editor.
protected void setCellRenderer (TreeCellRenderer tcr)
  Sets the TreeCellRenderer to tcr.
public void setCollapsedIcon (Icon newG)
protected void setEditable (boolean newValue)
Configures the receiver to allow, or not allow, editing.
public void setExpandedIcon (Icon newG)
protected void setHashColor (Color color)
protected void setLargeModel (boolean largeModel)
Updates the componentListener, if necessary.
public void setLeftChildIndent (int newAmount)
protected void setModel (TreeModel model)
Sets the TreeModel.
public void setPreferredMinSize (Dimension newSize)
Sets the preferred minimum size.
public 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 setSelectionModel (TreeSelectionModel newLSM)
  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 startEditing (TreePath path, MouseEvent event)
  Will start editing for node if there is a cellEditor and shouldSelectCell returns true.
public void startEditingAtPath (JTree tree, TreePath path) [Specified in TreeUI]
  Selects the last item in path and tries to edit it.
public boolean stopEditing (JTree tree) [Specified in TreeUI]
  Stops the current editing session.
protected void toggleExpandState (TreePath path)
  Expands path if it is not expanded, or collapses row if it is expanded.
protected void uninstallComponents ()
Uninstalls the renderer pane.
protected void uninstallDefaults ()
protected void uninstallKeyboardActions ()
protected void uninstallListeners ()
public void uninstallUI (JComponent c) [Overrides ComponentUI]
public void update (Graphics g, JComponent c) [Inherited From ComponentUI]
  Notifies this UI delegate that it's time to paint the specified component.
protected void updateCachedPreferredSize ()
  Updates the preferredSize instance variable, which is returned from getPreferredSize().
protected void updateCellEditor ()
  Updates the cellEditor based on the editability of the JTree that we're contained in.
protected void updateDepthOffset ()
Updates how much each depth should be offset by.
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.
protected void updateLayoutCacheExpandedNodes ()
  Makes all the nodes that are expanded in JTree expanded in LayoutCache.
protected void updateRenderer ()
Messaged from the tree we're in when the renderer has changed.
protected void updateSize ()
Marks the cached size as being invalid, and messages the tree with treeDidChange.
Fields
Hide/Show inherited fields
protectedtransient TreeCellEditor cellEditor
Editor for the tree.
protectedtransient 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.
protectedtransient 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<TreePath, Boolean> 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.
protectedtransient 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 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?
Nested Classes
  BasicTreeUI.TreeExpansionHandler
Updates the TreeState in response to nodes expanding/collapsing.
  BasicTreeUI.ComponentHandler
Updates the preferred size when scrolling (if necessary).
  BasicTreeUI.TreeModelHandler
Forwards all TreeModel events to the TreeState.
  BasicTreeUI.TreeSelectionHandler
Listens for changes in the selection model and updates the display accordingly.
  BasicTreeUI.CellEditorHandler
Listener responsible for getting cell editing events and updating the tree accordingly.
  BasicTreeUI.KeyHandler
This is used to get mutliple key down events to appropriately generate events.
  BasicTreeUI.FocusHandler
Repaints the lead selection row when focus is lost/gained.
  BasicTreeUI.NodeDimensionsHandler
Class responsible for getting size of node, method is forwarded to BasicTreeUI method.
  BasicTreeUI.MouseHandler
TreeMouseListener is responsible for updating the selection based on mouse events.
  BasicTreeUI.PropertyChangeHandler
PropertyChangeListener for the tree.
  BasicTreeUI.SelectionModelPropertyChangeHandler
Listener on the TreeSelectionModel, resets the row selection if any of the properties of the model change.
  BasicTreeUI.TreeTraverseAction
TreeTraverseAction is the action used for left/right keys.
  BasicTreeUI.TreePageAction
TreePageAction handles page up and page down events.
  BasicTreeUI.TreeIncrementAction
TreeIncrementAction is used to handle up/down actions.
  BasicTreeUI.TreeHomeAction
TreeHomeAction is used to handle end/home actions.
  BasicTreeUI.TreeToggleAction
For the first selected row expandedness will be toggled.
  BasicTreeUI.TreeCancelEditingAction
ActionListener that invokes cancelEditing when action performed.
  BasicTreeUI.MouseInputHandler
MouseInputHandler handles passing all mouse events, including mouse motion events, until the mouse is released to the destination it is constructed with.
  BasicTreeUI.TreeTransferHandler
Generated By: JavaOnTracks Doclet 0.1.4     ©Thibaut Colar