org.openide.explorer 6.5.22 1

org.openide.explorer.view
Class TreeView

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

public abstract class TreeView
extends JScrollPane

Base class for tree-style explorer views.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JScrollPane
JScrollPane.AccessibleJScrollPane, JScrollPane.ScrollBar
 
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  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()
          Initializes the component and lookup explorer manager.
 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()
          Actions constants comes from DnDConstants.
 int getAllowedDropActions()
          Actions constants comes from DnDConstants.
 Border getBorder()
           
 int getSelectionMode()
          Returns the current selection mode, one of TreeSelectionModel.SINGLE_TREE_SELECTION, TreeSelectionModel.CONTIGUOUS_TREE_SELECTION or TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION.
 boolean isDefaultActionEnabled()
          Does a double click invoke the default node action?
 boolean isDragSource()
          Drag support is enabled by default.
 boolean isDropTarget()
          Drop support is enabled by default.
 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()
          Deinitializes listeners.
 void requestFocus()
          Requests focus for the tree component.
 boolean requestFocusInWindow()
          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.
 void setSelectionMode(int mode)
          Sets the selection model, which must be one of TreeSelectionModel.SINGLE_TREE_SELECTION, TreeSelectionModel.CONTIGUOUS_TREE_SELECTION or TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION.
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.
 void updateUI()
           
protected  boolean useExploredContextMenu()
          Specify whether a context menu of the explored context should be used.
 
Methods inherited from class javax.swing.JScrollPane
createHorizontalScrollBar, createVerticalScrollBar, createViewport, getAccessibleContext, getColumnHeader, getCorner, getHorizontalScrollBar, getHorizontalScrollBarPolicy, getRowHeader, getUI, getUIClassID, getVerticalScrollBar, getVerticalScrollBarPolicy, getViewport, getViewportBorder, getViewportBorderBounds, isValidateRoot, isWheelScrollingEnabled, paramString, setColumnHeader, setColumnHeaderView, setComponentOrientation, setCorner, setHorizontalScrollBar, setHorizontalScrollBarPolicy, setLayout, setRowHeader, setRowHeaderView, setUI, setVerticalScrollBar, setVerticalScrollBarPolicy, setViewport, setViewportBorder, setViewportView, setWheelScrollingEnabled
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, 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, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, 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, 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, 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, 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

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

updateUI

public void updateUI()
Overrides:
updateUI in class JScrollPane

getBorder

public Border getBorder()
Overrides:
getBorder in class JComponent

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

requestFocusInWindow

public boolean requestFocusInWindow()
Requests focus for the tree component. Overrides superclass method.

Overrides:
requestFocusInWindow 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:
visible - true if it is to be displayed

isDragSource

public boolean isDragSource()
Drag support is enabled by default.

Returns:
true if dragging from the view is enabled, false otherwise.

setDragSource

public void setDragSource(boolean state)
Enables/disables dragging support.

Parameters:
state - true enables dragging support, false disables it.

isDropTarget

public boolean isDropTarget()
Drop support is enabled by default.

Returns:
true if dropping to the view is enabled, false otherwise

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()
Actions constants comes from DnDConstants. All actions (copy, move, link) are allowed by default.

Returns:
int representing set of actions which are allowed when dragging from asociated component.

setAllowedDragActions

public void setAllowedDragActions(int actions)
Sets allowed actions for dragging

Parameters:
actions - new drag actions, using DnDConstants

getAllowedDropActions

public int getAllowedDropActions()
Actions constants comes from DnDConstants. All actions are allowed by default.

Returns:
int representing set of actions which are allowed when dropping into the asociated component.

setAllowedDropActions

public void setAllowedDropActions(int actions)
Sets allowed actions for dropping.

Parameters:
actions - new allowed drop actions, using DnDConstants

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()
Initializes the component and lookup explorer manager.

Overrides:
addNotify in class JComponent

removeNotify

public void removeNotify()
Deinitializes listeners.

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()
Specify whether a context menu of the explored context should 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

setSelectionMode

public void setSelectionMode(int mode)
Sets the selection model, which must be one of TreeSelectionModel.SINGLE_TREE_SELECTION, TreeSelectionModel.CONTIGUOUS_TREE_SELECTION or TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION.

This may change the selection if the current selection is not valid for the new mode. For example, if three TreePaths are selected when the mode is changed to TreeSelectionModel.SINGLE_TREE_SELECTION, only one TreePath will remain selected. It is up to the particular implementation to decide what TreePath remains selected. Note: TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION is set as default.

Parameters:
mode - selection mode
Since:
2.15

getSelectionMode

public int getSelectionMode()
Returns the current selection mode, one of TreeSelectionModel.SINGLE_TREE_SELECTION, TreeSelectionModel.CONTIGUOUS_TREE_SELECTION or TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION.

Returns:
selection mode
Since:
2.15

org.openide.explorer 6.5.22 1

Built on July 11 2007.  |  Portions Copyright 1997-2005 Sun Microsystems, Inc. All rights reserved.