org.openide.explorer.view
Class TreeView

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JScrollPane
                          |
                          +--org.openide.explorer.view.TreeView
All Implemented Interfaces:
Accessible, ImageObserver, MenuContainer, ScrollPaneConstants, Serializable
Direct Known Subclasses:
BeanTreeView, ContextTreeView

public abstract class TreeView
extends JScrollPane

Tree view abstract class.

See Also:
Serialized Form

Inner classes inherited from class javax.swing.JScrollPane
JScrollPane.AccessibleJScrollPane, JScrollPane.ScrollBar
 
Inner classes inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Inner classes inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
Component.AccessibleAWTComponent
 
Field Summary
protected  JTree tree
          Main JTree component.
 
Fields inherited from class javax.swing.JScrollPane
columnHeader, horizontalScrollBar, horizontalScrollBarPolicy, lowerLeft, lowerRight, rowHeader, upperLeft, upperRight, verticalScrollBar, verticalScrollBarPolicy, viewport
 
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 javax.swing.ScrollPaneConstants
COLUMN_HEADER, HORIZONTAL_SCROLLBAR, HORIZONTAL_SCROLLBAR_ALWAYS, HORIZONTAL_SCROLLBAR_AS_NEEDED, HORIZONTAL_SCROLLBAR_NEVER, HORIZONTAL_SCROLLBAR_POLICY, LOWER_LEADING_CORNER, LOWER_LEFT_CORNER, LOWER_RIGHT_CORNER, LOWER_TRAILING_CORNER, ROW_HEADER, UPPER_LEADING_CORNER, UPPER_LEFT_CORNER, UPPER_RIGHT_CORNER, UPPER_TRAILING_CORNER, VERTICAL_SCROLLBAR, VERTICAL_SCROLLBAR_ALWAYS, VERTICAL_SCROLLBAR_AS_NEEDED, VERTICAL_SCROLLBAR_NEVER, VERTICAL_SCROLLBAR_POLICY, VIEWPORT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
TreeView()
          Constructor.
TreeView(boolean defaultAction, boolean popupAllowed)
          Constructor.
 
Method Summary
 void addNotify()
           
 void collapseNode(Node n)
          Collapses the tree under given node.
protected abstract  NodeTreeModel createModel()
          Allows subclasses to provide own model for displaying nodes.
 void expandAll()
          Expands all paths.
 void expandNode(Node n)
          Expandes the node in the tree.
 int getAllowedDragActions()
           
 int getAllowedDropActions()
           
 boolean isDefaultActionEnabled()
          Does a double click invoke the default node action?
 boolean isDragSource()
           
 boolean isDropTarget()
           
 boolean isExpanded(Node n)
          Test whether a node is expanded in the tree or not
 boolean isPopupAllowed()
          Is it permitted to display a popup menu?
 boolean isRootVisible()
          Is the root node of the tree displayed?
 void removeNotify()
           
 void requestFocus()
          Requests focus for the tree component.
protected abstract  boolean selectionAccept(Node[] nodes)
          Called when explorer manager is about to change the current selection.
protected abstract  void selectionChanged(Node[] nodes, ExplorerManager em)
          Called to allow subclasses to define the behaviour when a node(s) are selected in the tree.
 void setAllowedDragActions(int actions)
          Sets allowed actions for dragging
 void setAllowedDropActions(int actions)
          Sets allowed actions for dropping.
 void setDefaultActionAllowed(boolean value)
          Enable/disable double click to invoke default action.
 void setDragSource(boolean state)
          Enables/disables dragging support.
 void setDropTarget(boolean state)
          Enables/disables dropping support.
 void setPopupAllowed(boolean value)
          Enable/disable displaying popup menus on tree view items.
 void setRootVisible(boolean visible)
          Set whether or not the root node from the TreeModel is visible.
protected abstract  void showPath(TreePath path)
          Show a given path in the screen.
protected abstract  void showSelection(TreePath[] paths)
          Shows selection to reflect the current state of the selection in the explorer.
protected  boolean useExploredContextMenu()
          Should a context menu of the explored context be used? Applicable when no nodes are selected and the user wants to invoke a context menu (clicks right mouse button).
 
Methods inherited from class javax.swing.JScrollPane
createHorizontalScrollBar, createVerticalScrollBar, createViewport, getAccessibleContext, getColumnHeader, getCorner, getHorizontalScrollBar, getHorizontalScrollBarPolicy, getRowHeader, getUI, getUIClassID, getVerticalScrollBar, getVerticalScrollBarPolicy, getViewport, getViewportBorder, getViewportBorderBounds, isValidateRoot, paramString, setColumnHeader, setColumnHeaderView, setComponentOrientation, setCorner, setHorizontalScrollBar, setHorizontalScrollBarPolicy, setLayout, setRowHeader, setRowHeaderView, setUI, setVerticalScrollBar, setVerticalScrollBarPolicy, setViewport, setViewportBorder, setViewportView, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

tree

protected transient JTree tree
Main JTree component.
Constructor Detail

TreeView

public TreeView()
Constructor.

TreeView

public TreeView(boolean defaultAction,
                boolean popupAllowed)
Constructor.
Parameters:
defaultAction - should double click on a node open its default action?
popupAllowed - should right-click open popup?
Method Detail

isPopupAllowed

public boolean isPopupAllowed()
Is it permitted to display a popup menu?
Returns:
true if so

setPopupAllowed

public void setPopupAllowed(boolean value)
Enable/disable displaying popup menus on tree view items. Default is enabled.
Parameters:
value - true to enable

isDefaultActionEnabled

public boolean isDefaultActionEnabled()
Does a double click invoke the default node action?
Returns:
true if so

requestFocus

public void requestFocus()
Requests focus for the tree component. Overrides superclass method.
Overrides:
requestFocus in class JComponent

setDefaultActionAllowed

public void setDefaultActionAllowed(boolean value)
Enable/disable double click to invoke default action. If defaultAction is not enabled double click expand/collapse node.
Parameters:
value - true to enable

isRootVisible

public boolean isRootVisible()
Is the root node of the tree displayed?
Returns:
true if so

setRootVisible

public void setRootVisible(boolean visible)
Set whether or not the root node from the TreeModel is visible.
Parameters:
rootVisible - true if it is to be displayed

isDragSource

public boolean isDragSource()
Returns:
true if dragging from the view is enabled, false otherwise.
Drag support is disabled by default.

setDragSource

public void setDragSource(boolean state)
Enables/disables dragging support.
Parameters:
state - true enables dragging support, false disables it.

isDropTarget

public boolean isDropTarget()
Returns:
true if dropping to the view is enabled, false otherwise
Drop support is disabled by default.

setDropTarget

public void setDropTarget(boolean state)
Enables/disables dropping support.
Parameters:
state - true means drops into view are allowed, false forbids any drops into this view.

getAllowedDragActions

public int getAllowedDragActions()
Returns:
Set of actions which are allowed when dragging from asociated component. Actions constants comes from DnDConstants.XXX constants. All actions (copy, move, link) are allowed by default.

setAllowedDragActions

public void setAllowedDragActions(int actions)
Sets allowed actions for dragging
Parameters:
actions - new drag actions, using DnDConstants.XXX

getAllowedDropActions

public int getAllowedDropActions()
Returns:
Set of actions which are allowed when dropping into the asociated component. Actions constants comes from DnDConstants.XXX constants. All actions are allowed by default.

setAllowedDropActions

public void setAllowedDropActions(int actions)
Sets allowed actions for dropping.
Parameters:
actions - new allowed drop actions, using DnDConstants.XXX

collapseNode

public void collapseNode(Node n)
Collapses the tree under given node.
Parameters:
n - node to collapse

expandNode

public void expandNode(Node n)
Expandes the node in the tree.
Parameters:
n - node

isExpanded

public boolean isExpanded(Node n)
Test whether a node is expanded in the tree or not
Parameters:
n - the node to test
Returns:
true if the node is expanded

expandAll

public void expandAll()
Expands all paths.

addNotify

public void addNotify()
Overrides:
addNotify in class JComponent

removeNotify

public void removeNotify()
Overrides:
removeNotify in class JComponent

createModel

protected abstract NodeTreeModel createModel()
Allows subclasses to provide own model for displaying nodes.
Returns:
the model to use for this view

selectionChanged

protected abstract void selectionChanged(Node[] nodes,
                                         ExplorerManager em)
                                  throws PropertyVetoException
Called to allow subclasses to define the behaviour when a node(s) are selected in the tree.
Parameters:
nodes - the selected nodes
em - explorer manager to work on (change nodes to it)
Throws:
PropertyVetoException - if the change cannot be done by the explorer (the exception is silently consumed)

selectionAccept

protected abstract boolean selectionAccept(Node[] nodes)
Called when explorer manager is about to change the current selection. The view can forbid the change if it is not able to display such selection.
Parameters:
nodes - the nodes to select
Returns:
false if the view is not able to change the selection

showPath

protected abstract void showPath(TreePath path)
Show a given path in the screen. It depends on the kind of TreeView if the path should be expanded or just made visible.
Parameters:
path - the path

showSelection

protected abstract void showSelection(TreePath[] paths)
Shows selection to reflect the current state of the selection in the explorer.
Parameters:
paths - array of paths that should be selected

useExploredContextMenu

protected boolean useExploredContextMenu()
Should a context menu of the explored context be used? Applicable when no nodes are selected and the user wants to invoke a context menu (clicks right mouse button).
Returns:
true if so; false in the default implementation


Built on December 12 2001.  |  Portions Copyright 1997-2001 Sun Microsystems, Inc. All rights reserved.