Class JXTree
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JTree
-
- org.jdesktop.swingx.JXTree
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
,javax.swing.Scrollable
public class JXTree extends javax.swing.JTree
JXTree. PENDING: support filtering/sorting.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
JXTree.CellEditorRemover
This class tracks changes in the keyboard focus state.class
JXTree.DelegatingRenderer
A decorator for the original TreeCellRenderer.protected static class
JXTree.TreeAdapter
protected class
JXTree.XTreeModelHandler
Listens to the model and updates theexpandedState
accordingly when nodes are removed, or changed.-
Nested classes/interfaces inherited from class javax.swing.JTree
javax.swing.JTree.AccessibleJTree, javax.swing.JTree.DropLocation, javax.swing.JTree.DynamicUtilTreeNode, javax.swing.JTree.EmptySelectionModel, javax.swing.JTree.TreeModelHandler, javax.swing.JTree.TreeSelectionRedirector
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description protected CompoundHighlighter
compoundHighlighter
protected ComponentAdapter
dataAdapter
protected FilterPipeline
filters
-
Fields inherited from class javax.swing.JTree
ANCHOR_SELECTION_PATH_PROPERTY, CELL_EDITOR_PROPERTY, CELL_RENDERER_PROPERTY, cellEditor, cellRenderer, editable, EDITABLE_PROPERTY, EXPANDS_SELECTED_PATHS_PROPERTY, INVOKES_STOP_CELL_EDITING_PROPERTY, invokesStopCellEditing, LARGE_MODEL_PROPERTY, largeModel, LEAD_SELECTION_PATH_PROPERTY, ROOT_VISIBLE_PROPERTY, rootVisible, ROW_HEIGHT_PROPERTY, rowHeight, SCROLLS_ON_EXPAND_PROPERTY, scrollsOnExpand, SELECTION_MODEL_PROPERTY, selectionModel, selectionRedirector, SHOWS_ROOT_HANDLES_PROPERTY, showsRootHandles, TOGGLE_CLICK_COUNT_PROPERTY, toggleClickCount, TREE_MODEL_PROPERTY, treeModel, treeModelListener, VISIBLE_ROW_COUNT_PROPERTY, visibleRowCount
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
Constructor Summary
Constructors Constructor Description JXTree()
Constructs aJXTree
with a sample model.JXTree(java.lang.Object[] value)
Constructs aJXTree
with each element of the specified array as the child of a new root node which is not displayed.JXTree(java.util.Hashtable value)
Constructs aJXTree
created from a Hashtable which does not display with root.JXTree(java.util.Vector value)
Constructs aJXTree
with each element of the specified Vector as the child of a new root node which is not displayed.JXTree(javax.swing.tree.TreeModel newModel)
Constructs an instance ofJXTree
which displays the root node -- the tree is created using the specified data model.JXTree(javax.swing.tree.TreeNode root)
Constructs aJXTree
with the specified TreeNode as its root, which displays the root node.JXTree(javax.swing.tree.TreeNode root, boolean asksAllowsChildren)
Constructs aJXTree
with the specified TreeNode as its root, which displays the root node and which decides whether a node is a leaf node in the specified manner.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addHighlighter(Highlighter highlighter)
Appends aHighlighter
to the end of the list of usedHighlighter
s.protected void
analyseFocus()
This is called from cell editor listener if edit terminated.void
collapseAll()
Collapses all nodes in the tree table.java.lang.String
convertValueToText(java.lang.Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus)
protected javax.swing.tree.TreeCellRenderer
createDefaultCellRenderer()
Creates and returns the default cell renderer to use.protected javax.swing.event.ChangeListener
createHighlighterChangeListener()
Creates and returns the ChangeListener observing Highlighters.protected TreeRolloverController<JXTree>
createLinkController()
protected RolloverProducer
createRolloverProducer()
creates and returns the RolloverProducer to use with this tree.protected javax.swing.event.TreeModelListener
createTreeModelListener()
protected void
doFind()
void
expandAll()
Expands all nodes in the tree table.javax.swing.tree.TreeCellRenderer
getCellRenderer()
protected ComponentAdapter
getComponentAdapter()
protected ComponentAdapter
getComponentAdapter(int index)
Convenience to access a configured ComponentAdapter.protected CompoundHighlighter
getCompoundHighlighter()
Returns the CompoundHighlighter assigned to the table, null if none.protected javax.swing.event.ChangeListener
getHighlighterChangeListener()
Returns theChangeListener
to use with highlighters.Highlighter[]
getHighlighters()
Returns theHighlighter
s used by this table.protected TreeRolloverController<JXTree>
getLinkController()
Searchable
getSearchable()
java.awt.Color
getSelectionBackground()
Returns the background color for selected cells.java.awt.Color
getSelectionForeground()
Returns the selection foreground color.javax.swing.tree.TreePath[]
getSelectionPaths()
overridden to always return a not-null array (following SwingX convention).int[]
getSelectionRows()
overridden to always return a not-null array (following SwingX convention).java.lang.String
getStringAt(int row)
Returns the string representation of the cell value at the given position.java.lang.String
getStringAt(javax.swing.tree.TreePath path)
Returns the string representation of the cell value at the given position.protected java.lang.reflect.Method
getValueConversionMethod(javax.swing.tree.TreeModel model)
Tries to find and return a method for Object --> to String conversion on the model by reflection.javax.swing.tree.TreeCellRenderer
getWrappedCellRenderer()
Returns the renderer installed by client code or the default if none has been set.boolean
isOverwriteRendererIcons()
Returns a boolean indicating whether the per-tree icons should be copied to the renderer on setCellRenderer.boolean
isRolloverEnabled()
returns the rolloverEnabled property.void
removeHighlighter(Highlighter highlighter)
Removes the given Highlighter.void
removeNotify()
Overridden to release the CellEditorRemover, if any.void
setCellRenderer(javax.swing.tree.TreeCellRenderer renderer)
void
setClosedIcon(javax.swing.Icon closedIcon)
Sets the Icon to use for a closed folder node.void
setCollapsedIcon(javax.swing.Icon collapsedIcon)
Sets the Icon to use for the handle of a collapsed node.void
setExpandedIcon(javax.swing.Icon expandedIcon)
Sets the Icon to use for the handle of an expanded node.void
setHighlighters(Highlighter... highlighters)
Sets theHighlighter
s to the table, replacing any old settings.void
setLeafIcon(javax.swing.Icon leafIcon)
Sets the Icon to use for a leaf node.void
setModel(javax.swing.tree.TreeModel newModel)
void
setOpenIcon(javax.swing.Icon openIcon)
Sets the Icon to use for an open folder node.void
setOverwriteRendererIcons(boolean overwrite)
Property to control whether per-tree icons should be copied to the renderer on setCellRenderer.void
setRolloverEnabled(boolean rolloverEnabled)
Property to enable/disable rollover support.void
setSearchable(Searchable searchable)
sets the Searchable for this editor.void
setSelectionBackground(java.awt.Color selectionBackground)
Sets the background color for selected cells.void
setSelectionForeground(java.awt.Color selectionForeground)
Sets the foreground color for selected cells.void
startEditingAtPath(javax.swing.tree.TreePath path)
protected void
updateHighlighterUI()
Updates highlighter afterupdateUI
changes.void
updateUI()
-
Methods inherited from class javax.swing.JTree
addSelectionInterval, addSelectionPath, addSelectionPaths, addSelectionRow, addSelectionRows, addTreeExpansionListener, addTreeSelectionListener, addTreeWillExpandListener, cancelEditing, clearSelection, clearToggledPaths, collapsePath, collapseRow, createTreeModel, expandPath, expandRow, fireTreeCollapsed, fireTreeExpanded, fireTreeWillCollapse, fireTreeWillExpand, fireValueChanged, getAccessibleContext, getAnchorSelectionPath, getCellEditor, getClosestPathForLocation, getClosestRowForLocation, getDefaultTreeModel, getDescendantToggledPaths, getDragEnabled, getDropLocation, getDropMode, getEditingPath, getExpandedDescendants, getExpandsSelectedPaths, getInvokesStopCellEditing, getLastSelectedPathComponent, getLeadSelectionPath, getLeadSelectionRow, getMaxSelectionRow, getMinSelectionRow, getModel, getNextMatch, getPathBetweenRows, getPathBounds, getPathForLocation, getPathForRow, getPreferredScrollableViewportSize, getRowBounds, getRowCount, getRowForLocation, getRowForPath, getRowHeight, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getScrollsOnExpand, getSelectionCount, getSelectionModel, getSelectionPath, getShowsRootHandles, getToggleClickCount, getToolTipText, getTreeExpansionListeners, getTreeSelectionListeners, getTreeWillExpandListeners, getUI, getUIClassID, getVisibleRowCount, hasBeenExpanded, isCollapsed, isCollapsed, isEditable, isEditing, isExpanded, isExpanded, isFixedRowHeight, isLargeModel, isPathEditable, isPathSelected, isRootVisible, isRowSelected, isSelectionEmpty, isVisible, makeVisible, paramString, removeDescendantSelectedPaths, removeDescendantToggledPaths, removeSelectionInterval, removeSelectionPath, removeSelectionPaths, removeSelectionRow, removeSelectionRows, removeTreeExpansionListener, removeTreeSelectionListener, removeTreeWillExpandListener, scrollPathToVisible, scrollRowToVisible, setAnchorSelectionPath, setCellEditor, setDragEnabled, setDropMode, setEditable, setExpandedState, setExpandsSelectedPaths, setInvokesStopCellEditing, setLargeModel, setLeadSelectionPath, setRootVisible, setRowHeight, setScrollsOnExpand, setSelectionInterval, setSelectionModel, setSelectionPath, setSelectionPaths, setSelectionRow, setSelectionRows, setShowsRootHandles, setToggleClickCount, setUI, setVisibleRowCount, stopEditing, treeDidChange
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
filters
protected FilterPipeline filters
-
compoundHighlighter
protected CompoundHighlighter compoundHighlighter
-
dataAdapter
protected ComponentAdapter dataAdapter
-
-
Constructor Detail
-
JXTree
public JXTree()
Constructs aJXTree
with a sample model. The default model used by this tree defines a leaf node as any node without children.
-
JXTree
public JXTree(java.lang.Object[] value)
Constructs aJXTree
with each element of the specified array as the child of a new root node which is not displayed. By default, this tree defines a leaf node as any node without children. This version of the constructor simply invokes the super class version with the same arguments.- Parameters:
value
- an array of objects that are children of the root.
-
JXTree
public JXTree(java.util.Vector value)
Constructs aJXTree
with each element of the specified Vector as the child of a new root node which is not displayed. By default, this tree defines a leaf node as any node without children. This version of the constructor simply invokes the super class version with the same arguments.- Parameters:
value
- an Vector of objects that are children of the root.
-
JXTree
public JXTree(java.util.Hashtable value)
Constructs aJXTree
created from a Hashtable which does not display with root. Each value-half of the key/value pairs in the HashTable becomes a child of the new root node. By default, the tree defines a leaf node as any node without children. This version of the constructor simply invokes the super class version with the same arguments.- Parameters:
value
- a Hashtable containing objects that are children of the root.
-
JXTree
public JXTree(javax.swing.tree.TreeNode root)
Constructs aJXTree
with the specified TreeNode as its root, which displays the root node. By default, the tree defines a leaf node as any node without children. This version of the constructor simply invokes the super class version with the same arguments.- Parameters:
root
- root node of this tree
-
JXTree
public JXTree(javax.swing.tree.TreeNode root, boolean asksAllowsChildren)
Constructs aJXTree
with the specified TreeNode as its root, which displays the root node and which decides whether a node is a leaf node in the specified manner. This version of the constructor simply invokes the super class version with the same arguments.- Parameters:
root
- root node of this treeasksAllowsChildren
- if true, only nodes that do not allow children are leaf nodes; otherwise, any node without children is a leaf node;- See Also:
DefaultTreeModel.asksAllowsChildren
-
JXTree
public JXTree(javax.swing.tree.TreeModel newModel)
Constructs an instance ofJXTree
which displays the root node -- the tree is created using the specified data model. This version of the constructor simply invokes the super class version with the same arguments.- Parameters:
newModel
- theTreeModel
to use as the data model
-
-
Method Detail
-
setModel
public void setModel(javax.swing.tree.TreeModel newModel)
- Overrides:
setModel
in classjavax.swing.JTree
-
getValueConversionMethod
protected java.lang.reflect.Method getValueConversionMethod(javax.swing.tree.TreeModel model)
Tries to find and return a method for Object --> to String conversion on the model by reflection. Looks for a signature:String convertValueToText(Object);
- Parameters:
model
- the model to detect the method- Returns:
- the
Method
or null if the model has no method with the expected signature
-
convertValueToText
public java.lang.String convertValueToText(java.lang.Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus)
- Overrides:
convertValueToText
in classjavax.swing.JTree
-
createTreeModelListener
protected javax.swing.event.TreeModelListener createTreeModelListener()
- Overrides:
createTreeModelListener
in classjavax.swing.JTree
-
doFind
protected void doFind()
-
getSearchable
public Searchable getSearchable()
- Returns:
- a not-null Searchable for this editor.
-
setSearchable
public void setSearchable(Searchable searchable)
sets the Searchable for this editor. If null, a default searchable will be used.- Parameters:
searchable
-
-
collapseAll
public void collapseAll()
Collapses all nodes in the tree table.
-
expandAll
public void expandAll()
Expands all nodes in the tree table.
-
getSelectionRows
public int[] getSelectionRows()
overridden to always return a not-null array (following SwingX convention).- Overrides:
getSelectionRows
in classjavax.swing.JTree
-
getSelectionPaths
public javax.swing.tree.TreePath[] getSelectionPaths()
overridden to always return a not-null array (following SwingX convention).- Overrides:
getSelectionPaths
in classjavax.swing.JTree
-
setHighlighters
public void setHighlighters(Highlighter... highlighters)
Sets theHighlighter
s to the table, replacing any old settings. None of the given Highlighters must be null.This is a bound property.
Note: as of version #1.257 the null constraint is enforced strictly. To remove all highlighters use this method without param.
- Parameters:
highlighters
- zero or more not null highlighters to use for renderer decoration.- Throws:
java.lang.NullPointerException
- if array is null or array contains null values.- See Also:
getHighlighters()
,addHighlighter(Highlighter)
,removeHighlighter(Highlighter)
-
getHighlighters
public Highlighter[] getHighlighters()
Returns theHighlighter
s used by this table. Maybe empty, but guarantees to be never null.- Returns:
- the Highlighters used by this table, guaranteed to never null.
- See Also:
setHighlighters(Highlighter[])
-
addHighlighter
public void addHighlighter(Highlighter highlighter)
Appends aHighlighter
to the end of the list of usedHighlighter
s. The argument must not be null.- Parameters:
highlighter
- theHighlighter
to add, must not be null.- Throws:
java.lang.NullPointerException
- ifHighlighter
is null.- See Also:
removeHighlighter(Highlighter)
,setHighlighters(Highlighter[])
-
removeHighlighter
public void removeHighlighter(Highlighter highlighter)
Removes the given Highlighter.Does nothing if the Highlighter is not contained.
- Parameters:
highlighter
- the Highlighter to remove.- See Also:
addHighlighter(Highlighter)
,setHighlighters(Highlighter...)
-
getCompoundHighlighter
protected CompoundHighlighter getCompoundHighlighter()
Returns the CompoundHighlighter assigned to the table, null if none. PENDING: open up for subclasses again?.- Returns:
- the CompoundHighlighter assigned to the table.
- See Also:
#setCompoundHighlighter(CompoundHighlighter)
-
getHighlighterChangeListener
protected javax.swing.event.ChangeListener getHighlighterChangeListener()
Returns theChangeListener
to use with highlighters. Lazily creates the listener.- Returns:
- the ChangeListener for observing changes of highlighters,
guaranteed to be
not-null
-
createHighlighterChangeListener
protected javax.swing.event.ChangeListener createHighlighterChangeListener()
Creates and returns the ChangeListener observing Highlighters.Here: repaints the table on receiving a stateChanged.
- Returns:
- the ChangeListener defining the reaction to changes of highlighters.
-
setRolloverEnabled
public void setRolloverEnabled(boolean rolloverEnabled)
Property to enable/disable rollover support. This can be enabled to show "live" rollover behaviour, f.i. the cursor over LinkModel cells. Default is disabled.- Parameters:
rolloverEnabled
-
-
getLinkController
protected TreeRolloverController<JXTree> getLinkController()
-
createLinkController
protected TreeRolloverController<JXTree> createLinkController()
-
createRolloverProducer
protected RolloverProducer createRolloverProducer()
creates and returns the RolloverProducer to use with this tree. A "hit" for rollover is covering the total width of the tree. Additionally, a pressed to the right (but outside of the label bounds) is re-dispatched as a pressed just inside the label bounds. This is a first go for #166-swingx.- Returns:
RolloverProducer
to use with this tree
-
isRolloverEnabled
public boolean isRolloverEnabled()
returns the rolloverEnabled property. TODO: Why doesn't this just return rolloverEnabled???- Returns:
- if rollober is enabled.
-
getSelectionBackground
public java.awt.Color getSelectionBackground()
Returns the background color for selected cells.- Returns:
- the
Color
used for the background of selected list items - See Also:
setSelectionBackground(java.awt.Color)
,setSelectionForeground(java.awt.Color)
-
getSelectionForeground
public java.awt.Color getSelectionForeground()
Returns the selection foreground color.- Returns:
- the
Color
object for the foreground property - See Also:
setSelectionForeground(java.awt.Color)
,setSelectionBackground(java.awt.Color)
-
setSelectionForeground
public void setSelectionForeground(java.awt.Color selectionForeground)
Sets the foreground color for selected cells. Cell renderers can use this color to render text and graphics for selected cells.The default value of this property is defined by the look and feel implementation.
This is a JavaBeans bound property.
- Parameters:
selectionForeground
- theColor
to use in the foreground for selected list items- See Also:
getSelectionForeground()
,setSelectionBackground(java.awt.Color)
,JComponent.setForeground(java.awt.Color)
,JComponent.setBackground(java.awt.Color)
,JComponent.setFont(java.awt.Font)
-
setSelectionBackground
public void setSelectionBackground(java.awt.Color selectionBackground)
Sets the background color for selected cells. Cell renderers can use this color to the fill selected cells.The default value of this property is defined by the look and feel implementation.
This is a JavaBeans bound property.
- Parameters:
selectionBackground
- theColor
to use for the background of selected cells- See Also:
getSelectionBackground()
,setSelectionForeground(java.awt.Color)
,JComponent.setForeground(java.awt.Color)
,JComponent.setBackground(java.awt.Color)
,JComponent.setFont(java.awt.Font)
-
updateUI
public void updateUI()
Overridden to update selection background/foreground. Mimicking behaviour of ui-delegates for JTable, JList.
- Overrides:
updateUI
in classjavax.swing.JTree
-
updateHighlighterUI
protected void updateHighlighterUI()
Updates highlighter afterupdateUI
changes.- See Also:
UIDependent
-
getStringAt
public java.lang.String getStringAt(int row)
Returns the string representation of the cell value at the given position.- Parameters:
row
- the row index of the cell in view coordinates- Returns:
- the string representation of the cell value as it will appear in the table.
-
getStringAt
public java.lang.String getStringAt(javax.swing.tree.TreePath path)
Returns the string representation of the cell value at the given position.- Parameters:
path
- the TreePath representing the node.- Returns:
- the string representation of the cell value as it will appear in the table, or null if the path is not visible.
-
setExpandedIcon
public void setExpandedIcon(javax.swing.Icon expandedIcon)
Sets the Icon to use for the handle of an expanded node.Note: this will only succeed if the current ui delegate is a BasicTreeUI otherwise it will do nothing.
PENDING JW: incomplete api (no getter) and not a bound property.
- Parameters:
expandedIcon
- the Icon to use for the handle of an expanded node.
-
setCollapsedIcon
public void setCollapsedIcon(javax.swing.Icon collapsedIcon)
Sets the Icon to use for the handle of a collapsed node. Note: this will only succeed if the current ui delegate is a BasicTreeUI otherwise it will do nothing. PENDING JW: incomplete api (no getter) and not a bound property.- Parameters:
collapsedIcon
- the Icon to use for the handle of a collapsed node.
-
setLeafIcon
public void setLeafIcon(javax.swing.Icon leafIcon)
Sets the Icon to use for a leaf node.Note: this will only succeed if current renderer is a DefaultTreeCellRenderer.
PENDING JW: this (all setXXIcon) is old api pulled up from the JXTreeTable. Need to review if we really want it - problematic if sharing the same renderer instance across different trees. PENDING JW: incomplete api (no getter) and not a bound property.
- Parameters:
leafIcon
- the Icon to use for a leaf node.
-
setOpenIcon
public void setOpenIcon(javax.swing.Icon openIcon)
Sets the Icon to use for an open folder node. Note: this will only succeed if current renderer is a DefaultTreeCellRenderer. PENDING JW: incomplete api (no getter) and not a bound property.- Parameters:
openIcon
- the Icon to use for an open folder node.
-
setClosedIcon
public void setClosedIcon(javax.swing.Icon closedIcon)
Sets the Icon to use for a closed folder node. Note: this will only succeed if current renderer is a DefaultTreeCellRenderer. PENDING JW: incomplete api (no getter) and not a bound property.- Parameters:
closedIcon
- the Icon to use for a closed folder node.
-
setOverwriteRendererIcons
public void setOverwriteRendererIcons(boolean overwrite)
Property to control whether per-tree icons should be copied to the renderer on setCellRenderer.The default value is false. PENDING: should update the current renderer's icons when setting to true?
- Parameters:
overwrite
- a boolean to indicate if the per-tree Icons should be copied to the new renderer on setCellRenderer.- See Also:
isOverwriteRendererIcons()
,setLeafIcon(Icon)
,setOpenIcon(Icon)
,setClosedIcon(Icon)
-
isOverwriteRendererIcons
public boolean isOverwriteRendererIcons()
Returns a boolean indicating whether the per-tree icons should be copied to the renderer on setCellRenderer.- Returns:
- true if a TreeCellRenderer's icons will be overwritten with the tree's Icons, false if the renderer's icons will be unchanged.
- See Also:
setOverwriteRendererIcons(boolean)
,setLeafIcon(Icon)
,setOpenIcon(Icon)
,setClosedIcon(Icon)
-
createDefaultCellRenderer
protected javax.swing.tree.TreeCellRenderer createDefaultCellRenderer()
Creates and returns the default cell renderer to use. Subclasses may override to use a different type. Here: returns aDefaultTreeCellRenderer
.Note: this implementation will be changed to return
DefaultTreeRenderer
, once WrappingProvider is reasonably stable.- Returns:
- the default cell renderer to use with this tree.
-
getCellRenderer
public javax.swing.tree.TreeCellRenderer getCellRenderer()
Overridden to return the delegating renderer which is wrapped around the original to support highlighting. The returned renderer is of type DelegatingRenderer and guaranteed to not-null
- Overrides:
getCellRenderer
in classjavax.swing.JTree
- See Also:
setCellRenderer(TreeCellRenderer)
,JXTree.DelegatingRenderer
-
getWrappedCellRenderer
public javax.swing.tree.TreeCellRenderer getWrappedCellRenderer()
Returns the renderer installed by client code or the default if none has been set.- Returns:
- the wrapped renderer.
- See Also:
setCellRenderer(TreeCellRenderer)
-
setCellRenderer
public void setCellRenderer(javax.swing.tree.TreeCellRenderer renderer)
Overridden to wrap the given renderer in a DelegatingRenderer to support highlighting.
Note: the wrapping implies that the renderer returned from the getCellRenderer is not the renderer as given here, but the wrapper. To access the original, use
getWrappedCellRenderer
.- Overrides:
setCellRenderer
in classjavax.swing.JTree
- See Also:
getWrappedCellRenderer()
,getCellRenderer()
-
startEditingAtPath
public void startEditingAtPath(javax.swing.tree.TreePath path)
Overridden to fix focus issues with editors. This method installs and updates the internal CellEditorRemover which to terminates ongoing edits if appropriate. Additionally, it registers a CellEditorListener with the cell editor to grab the focus back to tree, if appropriate.
- Overrides:
startEditingAtPath
in classjavax.swing.JTree
- See Also:
updateEditorRemover()
-
analyseFocus
protected void analyseFocus()
This is called from cell editor listener if edit terminated. Trying to analyse if we should grab the focus back to the tree after. Brittle ... we assume we are the first to get the event, so we can analyse the hierarchy before the editing component is removed.
-
removeNotify
public void removeNotify()
Overridden to release the CellEditorRemover, if any.- Overrides:
removeNotify
in classjavax.swing.JComponent
-
getComponentAdapter
protected ComponentAdapter getComponentAdapter()
- Returns:
- the unconfigured ComponentAdapter.
-
getComponentAdapter
protected ComponentAdapter getComponentAdapter(int index)
Convenience to access a configured ComponentAdapter. Note: the column index of the configured adapter is always 0.- Parameters:
index
- the row index in view coordinates, must be valid.- Returns:
- the configured ComponentAdapter.
-
-