com.alee.extended.filechooser
Class WebDirectoryChooserPanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by com.alee.laf.panel.WebPanel
                      extended by com.alee.extended.filechooser.WebDirectoryChooserPanel
All Implemented Interfaces:
PartialDecoration, LanguageContainerMethods, ShapeProvider, Styleable, SizeMethods<WebPanel>, SwingMethods, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class WebDirectoryChooserPanel
extends WebPanel

This custom component provides a directory chooser functionality. It similar to file chooser component but has its own unique interface and doesn't need a lot of configuring to use.

Author:
Mikle Garin
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  WebFileTree fileTree
          File tree.
protected  javax.swing.event.TreeSelectionListener fileTreeListener
           
protected  AbstractFileFilter filter
          File filter.
protected static javax.swing.ImageIcon FOLDER_HOME_ICON
           
protected static javax.swing.ImageIcon FOLDER_NEW_ICON
           
protected static javax.swing.ImageIcon FOLDER_UP_ICON
          Used icons.
protected  WebButton folderHome
           
protected  WebButton folderNew
           
protected  WebButton folderUp
          Toolbar components.
protected  java.util.List<DirectoryChooserListener> listeners
          Directory chooser listeners.
protected  WebButton refresh
           
protected static javax.swing.ImageIcon REFRESH_ICON
           
protected  WebButton remove
           
protected static javax.swing.ImageIcon REMOVE_ICON
           
protected  java.io.File selectedDirectory
          Currently selected directory.
protected  WebPathField webPathField
          Path field.
 
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
WebDirectoryChooserPanel()
          Constructs new directory chooser panel.
 
Method Summary
 void addDirectoryChooserListener(DirectoryChooserListener listener)
          Adds directory chooser listener.
 boolean allowHotkeys()
          Returns whether hotkeys are allowed or not.
protected  void fireSelectionChanged(java.io.File file)
          Fires when directory selection changed.
 AbstractFileFilter getFilter()
          Returns directory chooser file filter.
 java.io.File getSelectedDirectory()
          Returns currently selected directory.
 void removeDirectoryChooserListener(DirectoryChooserListener listener)
          Removes directory chooser listener.
 void setFilter(AbstractFileFilter filter)
          Sets directory chooser file filter.
 void setSelectedDirectory(java.io.File selectedDirectory)
          Sets currently selected directory.
protected  void updateSelectedDirectory(java.io.File directory, boolean updatePath, boolean updateTree)
          Updates currently selected directory.
protected  void updateToolbarControlsState()
          Updates toolbar controls state.
 
Methods inherited from class com.alee.laf.panel.WebPanel
add, add, add, add, add, add, getBorderColor, getBorderStroke, getDisabledBorderColor, getFirstComponent, getLanguageContainerKey, getLastComponent, getMargin, getMinimumHeight, getMinimumWidth, getPainter, getPreferredHeight, getPreferredSize, getPreferredWidth, getRound, getShadeTransparency, getShadeWidth, getStyleId, getWebUI, isPaintBackground, isPaintBottom, isPaintBottomLine, isPaintFocus, isPaintLeft, isPaintLeftLine, isPaintRight, isPaintRightLine, isPaintTop, isPaintTopLine, isUndecorated, isWebColoredBackground, provideShape, removeLanguageContainerKey, setBorderColor, setBorderStroke, setDisabledBorderColor, setLanguageContainerKey, setMargin, setMargin, setMargin, setMinimumHeight, setMinimumWidth, setPaintBackground, setPaintBottom, setPaintBottomLine, setPainter, setPaintFocus, setPaintLeft, setPaintLeftLine, setPaintRight, setPaintRightLine, setPaintSideLines, setPaintSides, setPaintTop, setPaintTopLine, setPreferredHeight, setPreferredWidth, setRound, setShadeTransparency, setShadeWidth, setStyleId, setUndecorated, setWebColoredBackground, updateUI
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI
 
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, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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

FOLDER_UP_ICON

protected static final javax.swing.ImageIcon FOLDER_UP_ICON
Used icons.


FOLDER_HOME_ICON

protected static final javax.swing.ImageIcon FOLDER_HOME_ICON

FOLDER_NEW_ICON

protected static final javax.swing.ImageIcon FOLDER_NEW_ICON

REFRESH_ICON

protected static final javax.swing.ImageIcon REFRESH_ICON

REMOVE_ICON

protected static final javax.swing.ImageIcon REMOVE_ICON

listeners

protected java.util.List<DirectoryChooserListener> listeners
Directory chooser listeners.


selectedDirectory

protected java.io.File selectedDirectory
Currently selected directory.


filter

protected AbstractFileFilter filter
File filter.


folderUp

protected WebButton folderUp
Toolbar components.


folderHome

protected WebButton folderHome

folderNew

protected WebButton folderNew

refresh

protected WebButton refresh

remove

protected WebButton remove

webPathField

protected WebPathField webPathField
Path field.


fileTree

protected WebFileTree fileTree
File tree.


fileTreeListener

protected javax.swing.event.TreeSelectionListener fileTreeListener
Constructor Detail

WebDirectoryChooserPanel

public WebDirectoryChooserPanel()
Constructs new directory chooser panel.

Method Detail

updateToolbarControlsState

protected void updateToolbarControlsState()
Updates toolbar controls state.


updateSelectedDirectory

protected void updateSelectedDirectory(java.io.File directory,
                                       boolean updatePath,
                                       boolean updateTree)
Updates currently selected directory.

Parameters:
directory - directory to select
updatePath - whether to update path field or not
updateTree - whether to update file tree or not

getFilter

public AbstractFileFilter getFilter()
Returns directory chooser file filter.

Returns:
directory chooser file filter

setFilter

public void setFilter(AbstractFileFilter filter)
Sets directory chooser file filter.

Parameters:
filter - directory chooser file filter

getSelectedDirectory

public java.io.File getSelectedDirectory()
Returns currently selected directory.

Returns:
currently selected directory

setSelectedDirectory

public void setSelectedDirectory(java.io.File selectedDirectory)
Sets currently selected directory.

Parameters:
selectedDirectory - currently selected directory

allowHotkeys

public boolean allowHotkeys()
Returns whether hotkeys are allowed or not.

Returns:
true if hotkeys are allowed, false otherwise

addDirectoryChooserListener

public void addDirectoryChooserListener(DirectoryChooserListener listener)
Adds directory chooser listener.

Parameters:
listener - directory chooser listener to add

removeDirectoryChooserListener

public void removeDirectoryChooserListener(DirectoryChooserListener listener)
Removes directory chooser listener.

Parameters:
listener - directory chooser listener to remove

fireSelectionChanged

protected void fireSelectionChanged(java.io.File file)
Fires when directory selection changed.

Parameters:
file - newly selected directory