de.jsystems.framework.tree
Class DirectoryTree

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byde.jsystems.framework.controls.FPanel
                      extended byde.jsystems.framework.tree.BusinessTree
                          extended byde.jsystems.framework.tree.DirectoryTree
All Implemented Interfaces:
Accessible, IActionInterface, IAncestor, IComponent, IContainer, IFocus, IHierarchy, IHierarchyBounds, IInputMethod, IKey, ImageObserver, IMouse, IMouseInput, IMouseMotion, IPropertyChange, ITreeExpansion, ITreeSelection, ITreeWillExpand, IVetoableChange, MenuContainer, Serializable

public class DirectoryTree
extends BusinessTree

Diese Erweiterung der Klasse BusinessTree stellt eine Verzeichnisstruktur als Baum dar. Ueber ein Kontextmenue koennen Verzeichnisse angelegt, geloescht und geaendert werden. Die TreeItem-Objekte im Baumenthalten als UserObject jeweils das der Datei oder dem Verzeichnis entsprechende File-Objekt. Ob auch Dateien oder nur Verzeichnisse im Baum angezeigt werden ist abhaengig von der Eigenschaft BusinessTreeModel.askAllowsChildren() im Model.

Version:
1.0
Copyright by Jens Homm 2001 - 2003
Author:
Jens Homm JSYSTEMS
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 
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
DirectoryTree(File file)
          Erzeugt einen neuen DirectoryTree.
DirectoryTree(File file, Controller controller)
          Erzeugt einen neuen DirectoryTree.
DirectoryTree(IBusinessTreeModel model, Controller controller)
          Erzeugt einen neuen DirectoryTree.
 
Method Summary
protected  void fillModelWithDir(BusinessTreeModel model, File file)
          Fuellt das uebergebene Model mit der Verzeichnisstruktur, die durch das uebergebene File-Objekt vorgegeben wird.
 
Methods inherited from class de.jsystems.framework.tree.BusinessTree
addLeaf, addLeaf, addLeaf, addNode, addNode, addNode, addTreeExpansionListener, addTreeModelListener, addTreeSelectionListener, addTreeWillExpandListener, getActionClassForAncestor, getActionClassForComponent, getActionClassForContainer, getActionClassForFocus, getActionClassForHierarchy, getActionClassForHierarchyBounds, getActionClassForInputMethod, getActionClassForKey, getActionClassForMouse, getActionClassForMouseInput, getActionClassForMouseMotion, getActionClassForPropertyChange, getActionClassForTreeExpansion, getActionClassForTreeSelection, getActionClassForTreeWillExpand, getActionClassForVetoableChange, getBusinessTreeModel, getSelectedNode, removeNode, removeTreeExpansionListener, removeTreeModelListener, removeTreeSelectionListener, removeTreeWillExpandListener, selectNodeAtPoint, setActionClassForAncestor, setActionClassForComponent, setActionClassForContainer, setActionClassForFocus, setActionClassForHierarchy, setActionClassForHierarchyBounds, setActionClassForInputMethod, setActionClassForKey, setActionClassForMouse, setActionClassForMouseInput, setActionClassForMouseMotion, setActionClassForPropertyChange, setActionClassForTreeExpansion, setActionClassForTreeSelection, setActionClassForTreeWillExpand, setActionClassForVetoableChange, setBusinessTreeModel, setController, setSelectedNode
 
Methods inherited from class de.jsystems.framework.controls.FPanel
addMouseInputListener, removeMouseInputListener
 
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, paintComponent, 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, setFont, setForeground, 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, 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
 
Methods inherited from interface de.jsystems.framework.common.action.IActionInterface
isEnabled, setEnabled
 
Methods inherited from interface de.jsystems.framework.common.action.swing.IAncestor
addAncestorListener, removeAncestorListener
 
Methods inherited from interface de.jsystems.framework.common.action.beans.IPropertyChange
addPropertyChangeListener, removePropertyChangeListener
 
Methods inherited from interface de.jsystems.framework.common.action.beans.IVetoableChange
addVetoableChangeListener, removeVetoableChangeListener
 
Methods inherited from interface de.jsystems.framework.common.action.awt.IContainer
addContainerListener, removeContainerListener
 
Methods inherited from interface de.jsystems.framework.common.action.awt.IComponent
addComponentListener, removeComponentListener
 
Methods inherited from interface de.jsystems.framework.common.action.awt.IFocus
addFocusListener, removeFocusListener
 
Methods inherited from interface de.jsystems.framework.common.action.awt.IHierarchy
addHierarchyListener, removeHierarchyListener
 
Methods inherited from interface de.jsystems.framework.common.action.awt.IHierarchyBounds
addHierarchyBoundsListener, removeHierarchyBoundsListener
 
Methods inherited from interface de.jsystems.framework.common.action.awt.IInputMethod
addInputMethodListener, removeInputMethodListener
 
Methods inherited from interface de.jsystems.framework.common.action.awt.IKey
addKeyListener, removeKeyListener
 
Methods inherited from interface de.jsystems.framework.common.action.awt.IMouse
addMouseListener, removeMouseListener
 
Methods inherited from interface de.jsystems.framework.common.action.awt.IMouseMotion
addMouseMotionListener, removeMouseMotionListener
 

Constructor Detail

DirectoryTree

public DirectoryTree(IBusinessTreeModel model,
                     Controller controller)
Erzeugt einen neuen DirectoryTree. Das uebergebene Model enthaelt dabei schon die anzuzueigende Verzeichnisstruktur. Der uebergebene Controller wird auf dem Tree als MouseListener registriert und zeigt bei Bedarf das Kontextmenue an.

Parameters:
model - Ein TreeModel mit der Verzeichnisstruktur.
controller - Der Controller fuer den Tree.

DirectoryTree

public DirectoryTree(File file)
Erzeugt einen neuen DirectoryTree. Dabei wird aus dem uebergebenen File-Objekt das Model aufgebaut. Wenn es sich bei diesem File-Objekt nicht um ein Verzeichnis, sondern um eine Datei handelt, wird das Verzeichnis dieser Datei ermittelt und als Root-Knoten fuer das Model verwendet. Im erzeugten Model werden nur die Verzeichnisse aus der Verzeichnisstruktur angezeigt. Die Dateien werden nicht angezeigt.

Parameters:
file - Das File-Objekt, aus dem ein TreeModel erzeugt werden soll.
See Also:
File.isDirectory()

DirectoryTree

public DirectoryTree(File file,
                     Controller controller)
Erzeugt einen neuen DirectoryTree. Dabei wird aus dem uebergebenen File-Objekt das Model aufgebaut. Wenn es sich bei diesem File-Objekt nicht um ein Verzeichnis, sondern um eine Datei handelt, wird das Verzeichnis dieser Datei ermittelt und als Root-Knoten fuer das Model verwendet. Im erzeugten Model werden nur die Verzeichnisse aus der Verzeichnisstruktur angezeigt. Die Dateien werden nicht angezeigt. Der uebergebene Controller wird auf dem Tree als MouseListener registriert und zeigt bei Bedarf das Kontextmenue an. Ueber dieses koennen dann die Verzeichnisse manipuliert werden.

Parameters:
file - Das File-Objekt, aus dem ein TreeModel erzeugt werden soll.
controller - Der Controller fuer den Tree.
See Also:
File.isDirectory()
Method Detail

fillModelWithDir

protected void fillModelWithDir(BusinessTreeModel model,
                                File file)
Fuellt das uebergebene Model mit der Verzeichnisstruktur, die durch das uebergebene File-Objekt vorgegeben wird. Dabei werden nur Verzeichnisse in der Struktur beruecksichtigt, enthaltene Datein in den Verzeichnissen werden ignoriert. Die File-Objekte fuer die einzelnen Verzeichnisse werden als UserObjekt in den TreeItem-Objekten im Model abgelegt. Wenn das uebergebene File-Objekt kein Verzeichnis ist wird das Verzeichnis zu dieser Datei gesucht und damit dann das Model gefuellt.

Parameters:
model - Das zu fuellende Model fuer den DirectoryTree.
file - Das File-Objekt, aus dem ein TreeModel erzeugt werden soll.
See Also:
File.isDirectory()