Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
javax.swing.plaf.ComponentUI
javax.swing.plaf.TreeUI
javax.swing.plaf.basic.BasicTreeUI
public class BasicTreeUI
extends TreeUI
JTree
according to
the Basic look and feel.
JTree
Nested Class Summary | |
class |
|
class |
|
class |
|
class |
|
class |
|
class |
|
class |
|
class |
|
class |
|
class |
|
class |
|
class |
|
class |
|
class |
|
class |
|
class |
|
class |
|
class |
|
Field Summary | |
protected Hashtable |
|
protected TreeCellEditor |
|
protected Icon |
|
protected boolean |
|
protected boolean |
|
protected TreeCellRenderer |
|
protected int |
|
protected Component |
|
protected TreePath |
|
protected int |
|
protected boolean |
|
protected Icon |
|
protected boolean |
|
protected int |
|
protected int |
|
protected AbstractLayoutCache.NodeDimensions |
|
protected Dimension |
|
protected Dimension |
|
protected CellRendererPane |
|
protected int |
|
protected boolean |
|
protected int |
|
protected JTree |
|
protected TreeModel |
|
protected TreeSelectionModel |
|
protected AbstractLayoutCache |
|
protected boolean |
|
Constructor Summary | |
|
Method Summary | |
void |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
protected CellEditorListener |
|
protected CellRendererPane |
|
protected ComponentListener |
|
protected TreeCellEditor |
|
protected TreeCellRenderer |
|
protected FocusListener |
|
protected KeyListener |
|
protected AbstractLayoutCache |
|
protected MouseListener |
|
protected AbstractLayoutCache.NodeDimensions |
|
protected PropertyChangeListener |
|
protected PropertyChangeListener |
|
protected TreeExpansionListener |
|
protected TreeModelListener |
|
protected TreeSelectionListener |
|
static ComponentUI |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
protected TreeCellEditor |
|
protected TreeCellRenderer |
|
TreePath |
|
Icon |
|
TreePath |
|
Icon |
|
protected Color |
|
protected int |
|
protected TreePath |
|
int |
|
Dimension |
|
Dimension |
|
protected TreeModel |
|
Rectangle |
|
TreePath |
|
Dimension |
|
Dimension |
|
Dimension |
|
int |
|
int |
|
int |
|
protected int |
|
protected int |
|
protected TreeSelectionModel |
|
protected boolean |
|
protected int |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
void |
|
protected boolean |
|
boolean | |
protected boolean |
|
protected boolean |
|
protected boolean |
|
protected boolean |
|
protected boolean |
|
protected boolean |
|
protected boolean |
|
void |
|
protected void | |
protected void |
|
protected void | |
protected void | |
protected void |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
void |
|
protected void |
|
void |
|
protected void |
|
protected void |
|
void |
|
protected void | |
void |
|
void |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
protected boolean |
|
protected boolean |
|
void |
|
boolean |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
void |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
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 , getMaximumSize , getMinimumSize , getPreferredSize , installUI , paint , uninstallUI , update |
Methods inherited from class java.lang.Object | |
clone , equals , extends Object> getClass , finalize , hashCode , notify , notifyAll , toString , wait , wait , wait |
protected HashtableBoolean>drawingCache
Used for minimizing the drawing of vertical lines.
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 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. This is based on whether or not the root is visible, and if the root handles are visible.
protected Component editingComponent
When editing, this will be the Component that is doing the actual editing.
protected int editingRow
Row that is being edited. Should only be referenced if editingComponent is null.
protected boolean editorHasDifferentSize
Set to true if the editor has a different size than the renderer.
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.
protected int leftChildIndent
Distance between left margin and where vertical dashes will be drawn.
protected AbstractLayoutCache.NodeDimensions nodeDimensions
Responsible for telling the TreeState the size needed for a node.
protected Dimension preferredMinSize
Minimum size needed to completely display all the nodes.
protected int rightChildIndent
Distance between leftChildIndent and where cell contents will be drawn.
protected boolean stopEditingInCompleteEditing
Set to false when editing and shouldSelectCall() returns true meaning the node should be selected before editing, used in completeEditing. GNU Classpath editing is implemented differently, so this value is not actually read anywhere. However it is always set correctly to maintain interoperability with the derived classes that read this field.
protected int totalChildIndent
Total fistance that will be indented. The sum of leftChildIndent and rightChildIndent .
protected AbstractLayoutCache treeState
Object responsible for handling sizing and expanded issues.
public void cancelEditing(JTree tree)
Cancels the current editing session.
- Overrides:
- cancelEditing in interface TreeUI
- Parameters:
tree
- is the tree to cancel the editing session on.
protected void checkForClickInExpandControl(TreePath path, int mouseX, int mouseY)
If themouseX
andmouseY
are in the expand or collapse region of the row, this will toggle the row.
- Parameters:
path
- the path we are concerned withmouseX
- is the cursor's x positionmouseY
- is the cursor's y position
protected void completeEditing()
Messages to stop the editing session. If the UI the receiver is providing the look and feel for returns true fromgetInvokesStopCellEditing
, stopCellEditing will be invoked on the current editor. Then completeEditing will be messaged with false, true, false to cancel any lingering editing.
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
- message to stop editingmessageCancel
- message to cancel editingmessageTree
- message to treeModel
protected void completeUIInstall()
Invoked from installUI after all the defaults/listeners have been installed.
protected void completeUIUninstall()
Invoked from uninstallUI after all the defaults/listeners have been uninstalled.
protected void configureLayoutCache()
Resets the treeState instance based on the tree we're providing the look and feel for. The node dimensions handler is required and must be created in advance.
protected CellEditorListener createCellEditorListener()
Creates a listener to handle events from the current editor
- Returns:
- the CellEditorListener that handles events from the current editor
protected CellRendererPane createCellRendererPane()
Returns the renderer pane that renderer components are placed in.
- Returns:
- the rendererpane that render components are placed in.
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.
- Returns:
- a new ComponentHandler.
protected TreeCellEditor createDefaultCellEditor()
Creates a default cell editor.
- Returns:
- the default cell editor.
protected TreeCellRenderer createDefaultCellRenderer()
Returns the default cell renderer that is used to do the stamping of each node.
- Returns:
- the default cell renderer that is used to do the stamping of each node.
protected FocusListener createFocusListener()
Creates the listener that is responsible for updating the display when focus is lost/grained.
- Returns:
- the FocusListener responsible for updating.
protected KeyListener createKeyListener()
Creates the listener reponsible for getting key events from the tree.
- Returns:
- the KeyListener responsible for getting key events.
protected AbstractLayoutCache createLayoutCache()
Creates the object responsible for managing what is expanded, as well as the size of nodes.
- Returns:
- the object responsible for managing what is expanded.
protected MouseListener createMouseListener()
Creates the listener responsible for updating the selection based on mouse events.
- Returns:
- the MouseListener responsible for updating.
protected AbstractLayoutCache.NodeDimensions createNodeDimensions()
Creates an instance of NodeDimensions that is able to determine the size of a given node in the tree. The node dimensions must be created before configuring the layout cache.
- Returns:
- the NodeDimensions of a given node in the tree
protected PropertyChangeListener createPropertyChangeListener()
Creates a listener that is reponsible for the updates the UI based on how the tree changes.
- Returns:
- the PropertyChangeListener that is reposnsible for the updates
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 a nodes expanded state changes.
- Returns:
- the TreeExpansionListener responsible for updating the treestate
protected TreeModelListener createTreeModelListener()
Returns a listener that can update the tree when the model changes.
- 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.
- Returns:
- the TreeSelectionListener responsible for updating.
public static ComponentUI createUI(JComponent c)
Returns an instance of the UI delegate for the specified component.
- Overrides:
- createUI in interface ComponentUI
- Parameters:
c
- theJComponent
for which we need a UI delegate for.
- Returns:
- the
ComponentUI
for c.
protected void drawCentered(Component c, Graphics g, Icon icon, int x, int y)
Draws an icon at around a specific position
- Parameters:
c
- is the component the new line will belong tog
- is the graphic contexticon
- is the icon which will be drawnx
- is the center position in x-directiony
- is the center position in y-direction
protected void drawDashedHorizontalLine(Graphics g, int y, int x1, int x2)
Draws a dashed horizontal line.
- Parameters:
g
- - the graphics configuration.y
- - the y location to start drawing atx1
- - the x location to start drawing atx2
- - the x location to finish drawing at
protected void drawDashedVerticalLine(Graphics g, int x, int y1, int y2)
Draws a dashed vertical line.
- Parameters:
g
- - the graphics configuration.x
- - the x location to start drawing aty1
- - the y location to start drawing aty2
- - the y location to finish drawing at
protected void ensureRowsAreVisible(int beginRow, int endRow)
Ensures that the rows identified by beginRow through endRow are visible.
- Parameters:
beginRow
- is the first rowendRow
- is the last row
protected TreeCellEditor getCellEditor()
Returns theTreeCellEditor
for this tree.
- Returns:
- the cellEditor for this tree.
protected TreeCellRenderer getCellRenderer()
Return currentCellRenderer, which will either be the trees renderer, or defaultCellRenderer, which ever was not null.
- Returns:
- the current Cell Renderer
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 interface TreeUI
- Parameters:
tree
- the tree to search for the closest pathx
- is the x coordinate of the location to searchy
- is the y coordinate of the location to search
- Returns:
- the tree path closes to x,y.
public Icon getCollapsedIcon()
Returns the current collapsed icon.
- Returns:
- the current collapsed icon.
public TreePath getEditingPath(JTree tree)
Returns the path to the element that is being editted.
- Overrides:
- getEditingPath in interface TreeUI
- Parameters:
tree
- is the tree to get the editing path from.
- Returns:
- the path that is being edited.
public Icon getExpandedIcon()
Returns the current expanded icon.
- Returns:
- the current expanded icon.
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.
- Returns:
- the horizontal leg buffer
protected TreePath getLastChildPath(TreePath parent)
Returns a path to the last child ofparent
- Parameters:
parent
- is the topmost path to specified
- Returns:
- a path to the last child of parent
public int getLeftChildIndent()
Returns the indent value for the left child.
- Returns:
- the indent value for the left child.
public Dimension getMaximumSize(JComponent c)
Returns the maximum size for the component, which will be the preferred size if the instance is currently in JTree or (0,0).
- Overrides:
- getMaximumSize in interface ComponentUI
- Parameters:
c
- the component whose preferred size is being queried
- Returns:
- the max size or null
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 interface ComponentUI
- Parameters:
c
- the component whose min size is being queried.
public Rectangle getPathBounds(JTree tree, TreePath path)
Returns the Rectangle enclosing the label portion that the last item in path will be drawn to. Will return null if any component in path is currently valid.
- Overrides:
- getPathBounds in interface TreeUI
- Parameters:
tree
- is the current tree the path will be drawn to.path
- is the current path the tree to draw to.
- Returns:
- the Rectangle enclosing the label portion that the last item in the path will be drawn to.
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 interface TreeUI
- Parameters:
tree
- is the current tree to return path for.row
- is the row number of the row to return.
- Returns:
- the path for passed in row. If row is not visible null is returned.
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 interface ComponentUI
- Parameters:
c
- the component whose preferred size is being queried; this argument is often ignored but might be used if the UI object is stateless and shared by multiple components
- Returns:
- the preferred size
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
- the component whose preferred size is being queried.checkConsistancy
- if true must check consistancy
- Returns:
- the preferred size
public int getRightChildIndent()
Returns the indent value for the right child.
- Returns:
- the indent value for the right child.
public int getRowCount(JTree tree)
Returns the number of rows that are being displayed.
- Overrides:
- getRowCount in interface TreeUI
- Parameters:
tree
- is the current tree to return the number of rows for.
- Returns:
- the number of rows being displayed.
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 elments in the path are not currently visible.
- Overrides:
- getRowForPath in interface TreeUI
- Parameters:
tree
- is the current tree to return the row for.path
- is the path used to find the row.
- Returns:
- the row that the last item identified in path is visible at. Will return -1 if any of the elments in the path are not currently visible.
protected int getRowHeight()
Returns the current row height.
- Returns:
- current row height.
protected int getRowX(int row, int depth)
Returns the amount to indent the given row
- Returns:
- amount to indent the given row.
protected TreeSelectionModel getSelectionModel()
Returns the current selection model.
- Returns:
- the current selection model.
protected boolean getShowsRootHandles()
Returns true if the node handles are to be displayed.
- Returns:
- true if the node handles are to be displayed.
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.
- Returns:
- the vertical leg buffer
protected void handleExpandControlClick(TreePath path, int mouseX, int mouseY)
Messaged when the user clicks the particular row, this invokes toggleExpandState.
- Parameters:
path
- the path we are concerned withmouseX
- is the cursor's x positionmouseY
- is the cursor's y position
protected void installComponents()
Installs the subcomponents of the tree, which is the renderer pane.
public void installUI(JComponent c)
Install the UI for the component
- Overrides:
- installUI in interface ComponentUI
- Parameters:
c
- the component to install UI for
protected boolean isEditable()
Returns true if the receiver allows editing.
- Returns:
- true if the receiver allows editing.
public 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
- is the tree to check for editing.
- Returns:
- true if the tree is being edited.
protected boolean isLargeModel()
Returns true if largeModel is set
- Returns:
- true if largeModel is set, otherwise false.
protected boolean isLeaf(int row)
Returns true if the node atrow
is a leaf.
- Parameters:
row
- is the row we are concerned with.
- Returns:
- true if the node at
row
is a leaf.
protected boolean isLocationInExpandControl(TreePath path, int mouseX, int mouseY)
Returns true if themouseX
andmouseY
fall in the area of row that is used to expand/collpse the node and the node at row does not represent a leaf.
- Parameters:
path
- the path we are concerned withmouseX
- is the cursor's x positionmouseY
- is the cursor's y position
- Returns:
- true if the
mouseX
andmouseY
fall in the area of row that is used to expand/collpse 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. The BasisTreeUI treats the event as "multiple selection event" if the SHIFT button was pressed while clicking. The event is not counted as multiple selection event if the associated tree does not support the multiple selection.
- Parameters:
event
- is the MouseEvent performed on the node.
- Returns:
- true signifies a mouse event on the node should select from the anchor point.
protected boolean isRootVisible()
Returns true if the root is visible.
- Returns:
- true if the root is visible.
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
- is the MouseEvent performed on the row.
- Returns:
- 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 the mouse. The BasisTreeUI treats the event as "toggle selection event" if the CTRL button was pressed while clicking. The event is not counted as toggle event if the associated tree does not support the multiple selection.
- Parameters:
event
- is the MouseEvent performed on the row.
- Returns:
- true signifies a mouse event on the node should toggle the selection of only the row under the mouse.
public void paint(Graphics g, JComponent c)
Paints the specified component appropriate for the look and feel. This method is invoked from the ComponentUI.update method when the specified component is being painted. Subclasses should override this method and use the specified Graphics object to render the content of the component.
- Overrides:
- paint in interface ComponentUI
- Parameters:
g
- the Graphics context in which to paintc
- the component being painted; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components
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
- - the graphics configurationclipBounds
- -insets
- -bounds
- - bounds of expand controlpath
- - path to draw control forrow
- - row to draw control forisExpanded
- - is the row expandedhasBeenExpanded
- - has the row already been expandedisLeaf
- - is the path a leaf
protected void paintHorizontalLine(Graphics g, JComponent c, int y, int left, int right)
Draws a horizontal line using the given graphic context
- Parameters:
g
- is the graphic contextc
- is the component the new line will belong toy
- is the vertical positionleft
- specifies the left point of the lineright
- specifies the right point of the 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. The receiver should NOT modify clipBounds, or insets. NOTE: parentRow can be -1 if the root is not visible.
- Parameters:
g
- - the graphics configurationclipBounds
- -insets
- -bounds
- - bounds of the cellpath
- - path to draw leg forrow
- - row to start drawing atisExpanded
- - is the row expandedhasBeenExpanded
- - has the row already been expandedisLeaf
- - is the path a leaf
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
- - the graphics configurationclipBounds
- -insets
- -bounds
- - bounds of expand controlpath
- - path to draw control forrow
- - row to draw control forisExpanded
- - is the row expandedhasBeenExpanded
- - has the row already been expandedisLeaf
- - is the path a leaf
protected void paintVerticalLine(Graphics g, JComponent c, int x, int top, int bottom)
Draws a vertical line using the given graphic context
- Parameters:
g
- is the graphic contextc
- is the component the new line will belong tox
- is the horizonal positiontop
- specifies the top of the linebottom
- specifies the bottom of the line
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
- - the graphics configuration.clipBounds
- -insets
- -path
- - the path to draw the vertical part for.
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.
- Parameters:
path
- is the path that has been expanded.
protected void prepareForUIInstall()
Invoked after the tree instance variable has been set, but before any default/listeners have been installed.
protected void selectPathForEvent(TreePath path, MouseEvent event)
Messaged to update the selection based on a MouseEvent over a particular row. If the even 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 the previous selection is cleared.
- Parameters:
path
- is the path selected for an eventevent
- is the MouseEvent performed on the path.
protected void setCellEditor(TreeCellEditor editor)
Sets the cell editor.
- Parameters:
editor
- to set the cellEditor to.
protected void setCellRenderer(TreeCellRenderer tcr)
Sets the TreeCellRenderer totcr
. This invokesupdateRenderer
.
- Parameters:
tcr
- is the new TreeCellRenderer.
public void setCollapsedIcon(Icon newG)
Sets the collapsed icon.
- Parameters:
newG
- is the new collapsed icon.
protected void setEditable(boolean newValue)
Configures the receiver to allow, or not allow, editing.
- Parameters:
newValue
- sets the receiver to allow editing if true.
public void setExpandedIcon(Icon newG)
Sets the expanded icon.
- Parameters:
newG
- is the new expanded icon.
protected void setHashColor(Color color)
Sets the Hash color.
- Parameters:
color
- theColor
to set the Hash to.
protected void setLargeModel(boolean largeModel)
Updates the componentListener, if necessary.
- Parameters:
largeModel
- sets this.largeModel to it.
public void setLeftChildIndent(int newAmount)
Sets the left child's indent value.
- Parameters:
newAmount
- is the new indent value for the left child.
protected void setModel(TreeModel model)
Sets the tree's model.
- Parameters:
model
- to set the treeModel to.
public void setPreferredMinSize(Dimension newSize)
Sets the preferred minimum size.
- Parameters:
newSize
- is the new preferred minimum size.
public void setRightChildIndent(int newAmount)
Sets the right child's indent value.
- Parameters:
newAmount
- is the new indent value for the right child.
protected void setRootVisible(boolean newValue)
Sets the root to being visible.
- Parameters:
newValue
- sets the visibility of the root
protected void setRowHeight(int rowHeight)
Sets the row height.
- Parameters:
rowHeight
- is the height to set this.rowHeight to.
protected void setSelectionModel(TreeSelectionModel newLSM)
Resets the selection model. The appropriate listeners are installed on the model.
- Parameters:
newLSM
- resets the selection model.
protected void setShowsRootHandles(boolean newValue)
Determines whether the node handles are to be displayed.
- Parameters:
newValue
- sets whether or not node handles should 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.
- Parameters:
path
- - current path to check for.row
- - current row to check for.isExpanded
- - true if the path is expandedhasBeenExpanded
- - true if the path has been expanded alreadyisLeaf
- - true if the row is a lead
protected boolean startEditing(TreePath path, MouseEvent event)
Will start editing for node if there is a cellEditor and shouldSelectCall returns true. This assumes that path is valid and visible.
- Parameters:
path
- is the path to start editingevent
- is the MouseEvent performed on the path
- Returns:
- true if successful
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 interface TreeUI
- Parameters:
tree
- is the tree to edit on.path
- is the path in tree to edit on.
public boolean stopEditing(JTree tree)
Stops the current editing session. This has no effect if the tree is not being edited. Returns true if the editor allows the editing session to stop.
- Overrides:
- stopEditing in interface TreeUI
- Parameters:
tree
- is the tree to stop the editing on
- Returns:
- true if the editor allows the editing session to stop.
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 scroll 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
- the path we are concerned with
public void uninstallUI(JComponent c)
Uninstall the UI for the component
- Overrides:
- uninstallUI in interface ComponentUI
- Parameters:
c
- the component to uninstall UI for
protected void updateCachedPreferredSize()
Updates thepreferredSize
instance variable, which is returned fromgetPreferredSize()
.
protected void updateCellEditor()
Updates the cellEditor based on 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.
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 thepath
by getting the expanded descendants from the tree and forwarding to the tree state.
- Parameters:
path
- the path used to update the expanded states
protected void updateLayoutCacheExpandedNodes()
Make all the nodes that are expanded in JTree expanded in LayoutCache. This invokes updateExpandedDescendants with the root path.
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 withtreeDidChange
.