kiwi.ui
Class FilesystemTreeView

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended bykiwi.ui.KPanel
                      extended bykiwi.ui.FilesystemTreeView
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class FilesystemTreeView
extends KPanel

This class represents a filesystem tree component. It displays hierarchical data (ultimately obtained from a FilesystemDataSource) in a JTree component. The filesystem (or portion thereof) being displayed by the component can be changed at any time.


An example FilesystemTreeView.

Author:
Mark Lindner, PING Software Group
See Also:
kiwi.ui.model.FilesystemDataSource, JTree, Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  TreeModelTreeAdapter adapter
           
private  boolean ignoreFiles
           
private  DynamicTreeModel model
           
private  javax.swing.JTree tree
           
 
Fields inherited from class kiwi.ui.KPanel
 
Fields inherited from class javax.swing.JPanel
 
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.Container
 
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
FilesystemTreeView()
          Construct a new FilesystemTreeView.
FilesystemTreeView(boolean ignoreFiles)
          Construct a new FilesystemTreeView.
 
Method Summary
protected  java.io.File fileForPath(javax.swing.tree.TreePath path)
          Get the File object for a given path in the tree.
 javax.swing.JTree getJTree()
          Get the JTree that is embedded in this component.
 java.io.File getSelectedFile()
          Get the currently selected item in the tree.
 java.io.File[] getSelectedFiles()
          Get the currently selected items in the tree.
 void setFont(java.awt.Font font)
          Set the font for this component.
 void setMultipleSelectionsAllowed(boolean flag)
          Specify whether multiple selections are allowed in this component.
 void setOpaque(boolean flag)
          Set the component's opacity.
 void setRoot(java.io.File root)
          Set the root of the filesystem to be displayed by this component.
 
Methods inherited from class kiwi.ui.KPanel
getComponentByName, paintComponent, setFocusOrder, setTexture
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, 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

tree

private javax.swing.JTree tree

adapter

private TreeModelTreeAdapter adapter

model

private DynamicTreeModel model

ignoreFiles

private boolean ignoreFiles
Constructor Detail

FilesystemTreeView

public FilesystemTreeView()
Construct a new FilesystemTreeView. The tree initially has no data model; use setRoot() to initialize the component.

See Also:
setRoot(java.io.File)

FilesystemTreeView

public FilesystemTreeView(boolean ignoreFiles)
Construct a new FilesystemTreeView. The tree initially has no data model; use setRoot() to initialize the component.

Parameters:
ignoreFiles - A flag specifying whether this list should ignore files and only display directories.
See Also:
setRoot(java.io.File)
Method Detail

setMultipleSelectionsAllowed

public void setMultipleSelectionsAllowed(boolean flag)
Specify whether multiple selections are allowed in this component.

Parameters:
flag - If true, multiple discontiguous selections will be allowed; otherwise only single selection is allowed (the default).

setRoot

public void setRoot(java.io.File root)
Set the root of the filesystem to be displayed by this component. This causes the component to be reset and repainted.

Parameters:
root - The root directory of the filesystem to display.

getSelectedFile

public java.io.File getSelectedFile()
Get the currently selected item in the tree. If there is more than one item selected in the tree, gets the first selected item.

Returns:
The File object for the currently selected item in the tree, or null if there is no selection.
See Also:
getSelectedFiles()

getSelectedFiles

public java.io.File[] getSelectedFiles()
Get the currently selected items in the tree.

Returns:
An array of File objects corresponding to the currently selected items in the tree. If there is no selection, an empty array is returned.
See Also:
getSelectedFile()

fileForPath

protected final java.io.File fileForPath(javax.swing.tree.TreePath path)
Get the File object for a given path in the tree.

Parameters:
path - The TreePath of the item.
Returns:
The File object at the end of the given path.

getJTree

public final javax.swing.JTree getJTree()
Get the JTree that is embedded in this component.


setOpaque

public void setOpaque(boolean flag)
Set the component's opacity.


setFont

public void setFont(java.awt.Font font)
Set the font for this component.

Parameters:
font - The new font.