swingx
Version 2005-08-19

org.jdesktop.swingx
Class JXTree

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JTree
                  extended by org.jdesktop.swingx.JXTree
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, Scrollable

public class JXTree
extends JTree

JXTree. PENDING: support filtering/sorting.

See Also:
Serialized Form

Nested Class Summary
 class JXTree.DelegatingRenderer
           
protected static class JXTree.TreeAdapter
           
 class JXTree.TreeRolloverController<T extends JTree>
          listens to rollover properties.
 class JXTree.TreeSearchable
          A searchable targetting the visible rows of a JXTree.
 
Nested classes/interfaces inherited from class javax.swing.JTree
JTree.AccessibleJTree, JTree.DynamicUtilTreeNode, JTree.EmptySelectionModel, JTree.TreeModelHandler, JTree.TreeSelectionRedirector
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  FilterPipeline filters
           
protected  HighlighterPipeline highlighters
           
 
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
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
JXTree()
          Constructs a JXTree with a sample model.
JXTree(Hashtable value)
          Constructs a JXTree created from a Hashtable which does not display with root.
JXTree(Object[] value)
          Constructs a JXTree with each element of the specified array as the child of a new root node which is not displayed.
JXTree(TreeModel newModel)
          Constructs an instance of JXTree which displays the root node -- the tree is created using the specified data model.
JXTree(TreeNode root)
          Constructs a JXTree with the specified TreeNode as its root, which displays the root node.
JXTree(TreeNode root, boolean asksAllowsChildren)
          Constructs a JXTree 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.
JXTree(Vector value)
          Constructs a JXTree with each element of the specified Vector as the child of a new root node which is not displayed.
 
Method Summary
 void collapseAll()
          Collapses all nodes in the tree table.
 String convertValueToText(Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus)
           
protected  JXTree.TreeRolloverController createLinkController()
           
protected  RolloverProducer createRolloverProducer()
          creates and returns the RolloverProducer to use with this tree.
protected  void doFind()
           
 void expandAll()
          Expands all nodes in the tree table.
 TreeCellRenderer getCellRenderer()
           
protected  ComponentAdapter getComponentAdapter()
           
 HighlighterPipeline getHighlighters()
           
protected  JXTree.TreeRolloverController getLinkController()
           
 Searchable getSearchable()
           
 boolean isOverwriteRendererIcons()
           
 boolean isRolloverEnabled()
          returns the rolloverEnabled property.
 void setCellRenderer(TreeCellRenderer renderer)
           
 void setClosedIcon(Icon closedIcon)
          set the icon for a closed non-leaf node.
 void setCollapsedIcon(Icon collapsed)
          sets the icon for the handel of a collapsed node.
 void setExpandedIcon(Icon expanded)
          sets the icon for the handle of an expanded node.
 void setHighlighters(HighlighterPipeline pipeline)
          Assigns a HighlighterPipeline to the table.
 void setLeafIcon(Icon leafIcon)
          set the icon for a leaf node.
 void setModel(TreeModel newModel)
           
 void setOpenIcon(Icon openIcon)
          set the icon for a open non-leaf node.
 void setOverwriteRendererIcons(boolean overwrite)
          Property to control whether per-tree icons should be copied to the renderer on setCellRenderer.
 void setRolloverCursor(Point newLocation)
           
 void setRolloverEnabled(boolean rolloverEnabled)
          Property to enable/disable rollover support.
 void setSearchable(Searchable searchable)
          sets the Searchable for this editor.
 
Methods inherited from class javax.swing.JTree
addSelectionInterval, addSelectionPath, addSelectionPaths, addSelectionRow, addSelectionRows, addTreeExpansionListener, addTreeSelectionListener, addTreeWillExpandListener, cancelEditing, clearSelection, clearToggledPaths, collapsePath, collapseRow, createTreeModel, createTreeModelListener, expandPath, expandRow, fireTreeCollapsed, fireTreeExpanded, fireTreeWillCollapse, fireTreeWillExpand, fireValueChanged, getAccessibleContext, getAnchorSelectionPath, getCellEditor, getClosestPathForLocation, getClosestRowForLocation, getDefaultTreeModel, getDescendantToggledPaths, getDragEnabled, 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, getSelectionPaths, getSelectionRows, 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, setEditable, setExpandedState, setExpandsSelectedPaths, setInvokesStopCellEditing, setLargeModel, setLeadSelectionPath, setRootVisible, setRowHeight, setScrollsOnExpand, setSelectionInterval, setSelectionModel, setSelectionPath, setSelectionPaths, setSelectionRow, setSelectionRows, setShowsRootHandles, setToggleClickCount, setUI, setVisibleRowCount, startEditingAtPath, stopEditing, treeDidChange, updateUI
 
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, 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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, 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, transferFocusBackward, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

filters

protected FilterPipeline filters

highlighters

protected HighlighterPipeline highlighters
Constructor Detail

JXTree

public JXTree()
Constructs a JXTree with a sample model. The default model used by this tree defines a leaf node as any node without children.


JXTree

public JXTree(Object[] value)
Constructs a JXTree 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(Vector value)
Constructs a JXTree 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(Hashtable value)
Constructs a JXTree 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(TreeNode root)
Constructs a JXTree 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(TreeNode root,
              boolean asksAllowsChildren)
Constructs a JXTree 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 tree
asksAllowsChildren - 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(TreeModel newModel)
Constructs an instance of JXTree 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 - the TreeModel to use as the data model
Method Detail

setModel

public void setModel(TreeModel newModel)
Overrides:
setModel in class JTree

convertValueToText

public String convertValueToText(Object value,
                                 boolean selected,
                                 boolean expanded,
                                 boolean leaf,
                                 int row,
                                 boolean hasFocus)
Overrides:
convertValueToText in class 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.


getHighlighters

public HighlighterPipeline getHighlighters()

setHighlighters

public void setHighlighters(HighlighterPipeline pipeline)
Assigns a HighlighterPipeline to the table.


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 JXTree.TreeRolloverController getLinkController()

createLinkController

protected JXTree.TreeRolloverController 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.

setRolloverCursor

public void setRolloverCursor(Point newLocation)

getCellRenderer

public TreeCellRenderer getCellRenderer()
Overrides:
getCellRenderer in class JTree

setCellRenderer

public void setCellRenderer(TreeCellRenderer renderer)
Overrides:
setCellRenderer in class JTree

setExpandedIcon

public void setExpandedIcon(Icon expanded)
sets the icon 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.

Parameters:
expanded -

setCollapsedIcon

public void setCollapsedIcon(Icon collapsed)
sets the icon for the handel of a collapsed node. Note: this will only succeed if the current ui delegate is a BasicTreeUI otherwise it will do nothing.

Parameters:
collapsed -

setLeafIcon

public void setLeafIcon(Icon leafIcon)
set the icon for a leaf node. Note: this will only succeed if current renderer is a DefaultTreeCellRenderer.

Parameters:
leafIcon -

setOpenIcon

public void setOpenIcon(Icon openIcon)
set the icon for a open non-leaf node. Note: this will only succeed if current renderer is a DefaultTreeCellRenderer.

Parameters:
openIcon -

setClosedIcon

public void setClosedIcon(Icon closedIcon)
set the icon for a closed non-leaf node. Note: this will only succeed if current renderer is a DefaultTreeCellRenderer.

Parameters:
closedIcon -

setOverwriteRendererIcons

public void setOverwriteRendererIcons(boolean overwrite)
Property to control whether per-tree icons should be copied to the renderer on setCellRenderer. the default is false for backward compatibility. PENDING: should update the current renderer's icons when setting to true?

Parameters:
overwrite -

isOverwriteRendererIcons

public boolean isOverwriteRendererIcons()

getComponentAdapter

protected ComponentAdapter getComponentAdapter()

swingx
Version 2005-08-19