com.alee.extended.filechooser
Class WebPathField

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.WebPathField
All Implemented Interfaces:
PartialDecoration, LanguageContainerMethods, ToolTipMethods, ShapeProvider, Styleable, EventMethods, SizeMethods<WebPanel>, SwingMethods, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class WebPathField
extends WebPanel

Custom component which allows file system path selection.

Author:
Mikle Garin, Michka Popoff
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  javax.swing.JWindow autocompleteDialog
           
protected  boolean autocompleteEnabled
          Autocomplete.
protected  WebPanel contentPanel
          UI components.
protected static javax.swing.ImageIcon down
          Used icons.
protected static java.lang.String FILE_ICON
          Custom property used to store file icon into button.
protected  AbstractFileFilter fileFilter
          Field settings.
protected  boolean filesDropEnabled
           
protected  boolean focusOwner
           
protected  DefaultFocusTracker focusTracker
          Runtime variables.
protected static javax.swing.filechooser.FileSystemView fsv
          File system view.
protected static javax.swing.ImageIcon left
           
protected  java.util.List<PathFieldListener> listeners
          Field listeners.
protected  WebButton myComputer
           
protected  WebTextField pathField
           
protected  java.awt.event.FocusAdapter pathFocusListener
           
protected  int preferredWidth
           
protected static javax.swing.ImageIcon right
           
protected  WebToggleButton rootsArrowButton
           
protected  WebPopupMenu rootsMenu
           
protected  int rootsMenuItemsCount
          Root item menu.
protected  java.io.File selectedPath
           
 
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
WebPathField()
           
WebPathField(java.io.File path)
           
WebPathField(java.lang.String path)
           
 
Method Summary
 void addPathFieldListener(PathFieldListener listener)
           
 void applyComponentOrientation(java.awt.ComponentOrientation o)
           
protected  boolean canShortenPath()
           
protected  void fireDirectoryChanged(java.io.File newDirectory)
           
protected  void folderSelected(java.io.File folder)
           
protected  java.io.File[] getFileChilds(java.io.File file)
           
 AbstractFileFilter getFileFilter()
           
protected  WebButton getMyComputer()
           
 WebTextField getPathField()
           
protected  java.lang.String getProperSelectedPath()
           
protected  WebToggleButton getRootsArrowButton(boolean ltr)
           
 WebPopupMenu getRootsMenu()
           
 int getRootsMenuItemsCount()
           
 java.io.File getSelectedPath()
           
protected  java.util.List<java.io.File> getSimilarFileChilds(java.io.File file, java.lang.String namePart)
           
 boolean isAutocompleteEnabled()
           
 boolean isEditing()
           
 boolean isFilesDropEnabled()
           
 void removePathFieldListener(PathFieldListener listener)
           
 void setAutocompleteEnabled(boolean autocompleteEnabled)
           
 void setFileFilter(AbstractFileFilter fileFilter)
           
 void setFileFilter(AbstractFileFilter fileFilter, boolean updatePath)
           
 void setFilesDropEnabled(boolean filesDropEnabled)
           
 void setForeground(java.awt.Color foreground)
           
 void setRootsMenu(WebPopupMenu rootsMenu, int childsCount)
           
 void setSelectedPath(java.io.File selectedPath)
           
protected  void startEditing()
           
 void updatePath()
           
protected  void updatePath(java.io.File path)
           
 
Methods inherited from class com.alee.laf.panel.WebPanel
add, add, add, add, add, add, addToolTip, addToolTip, addToolTip, addToolTip, addToolTip, addToolTip, addToolTip, addToolTip, addToolTip, addToolTip, contains, getBorderColor, getBorderStroke, getDisabledBorderColor, getFirstComponent, getLanguageContainerKey, getLastComponent, getMargin, getMaximumHeight, getMaximumWidth, getMinimumHeight, getMinimumWidth, getPainter, getPreferredHeight, getPreferredSize, getPreferredWidth, getRound, getShadeTransparency, getShadeWidth, getStyleId, getWebUI, isPaintBackground, isPaintBottom, isPaintBottomLine, isPaintFocus, isPaintLeft, isPaintLeftLine, isPaintRight, isPaintRightLine, isPaintTop, isPaintTopLine, isUndecorated, isWebColoredBackground, onDoubleClick, onFocusGain, onFocusLoss, onKeyPress, onKeyPress, onKeyRelease, onKeyRelease, onKeyType, onKeyType, onMenuTrigger, onMouseClick, onMouseClick, onMouseDrag, onMouseDrag, onMouseEnter, onMouseExit, onMousePress, onMousePress, provideShape, remove, remove, removeAll, removeLanguageContainerKey, removeToolTip, removeToolTips, removeToolTips, removeToolTips, setBorderColor, setBorderStroke, setDisabledBorderColor, setLanguageContainerKey, setMargin, setMargin, setMargin, setMaximumHeight, setMaximumWidth, setMinimumHeight, setMinimumWidth, setPaintBackground, setPaintBottom, setPaintBottomLine, setPainter, setPaintFocus, setPaintLeft, setPaintLeftLine, setPaintRight, setPaintRightLine, setPaintSideLines, setPaintSides, setPaintTop, setPaintTopLine, setPreferredHeight, setPreferredSize, setPreferredWidth, setRound, setShadeTransparency, setShadeWidth, setStyleId, setToolTip, setToolTip, setToolTip, setToolTip, setToolTip, setToolTip, setToolTip, setToolTip, setToolTip, setToolTip, 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, 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, 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

down

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


left

protected static final javax.swing.ImageIcon left

right

protected static final javax.swing.ImageIcon right

FILE_ICON

protected static final java.lang.String FILE_ICON
Custom property used to store file icon into button.

See Also:
Constant Field Values

fsv

protected static javax.swing.filechooser.FileSystemView fsv
File system view.


listeners

protected java.util.List<PathFieldListener> listeners
Field listeners.


contentPanel

protected WebPanel contentPanel
UI components.


pathField

protected WebTextField pathField

pathFocusListener

protected java.awt.event.FocusAdapter pathFocusListener

myComputer

protected WebButton myComputer

autocompleteEnabled

protected boolean autocompleteEnabled
Autocomplete.


autocompleteDialog

protected javax.swing.JWindow autocompleteDialog

rootsMenuItemsCount

protected int rootsMenuItemsCount
Root item menu.


rootsMenu

protected WebPopupMenu rootsMenu

rootsArrowButton

protected WebToggleButton rootsArrowButton

fileFilter

protected AbstractFileFilter fileFilter
Field settings.


preferredWidth

protected int preferredWidth

filesDropEnabled

protected boolean filesDropEnabled

selectedPath

protected java.io.File selectedPath

focusTracker

protected final DefaultFocusTracker focusTracker
Runtime variables.


focusOwner

protected boolean focusOwner
Constructor Detail

WebPathField

public WebPathField()

WebPathField

public WebPathField(java.lang.String path)

WebPathField

public WebPathField(java.io.File path)
Method Detail

startEditing

protected void startEditing()

getProperSelectedPath

protected java.lang.String getProperSelectedPath()

isEditing

public boolean isEditing()

setForeground

public void setForeground(java.awt.Color foreground)
Overrides:
setForeground in class javax.swing.JComponent

isAutocompleteEnabled

public boolean isAutocompleteEnabled()

setAutocompleteEnabled

public void setAutocompleteEnabled(boolean autocompleteEnabled)

getFileFilter

public AbstractFileFilter getFileFilter()

setFileFilter

public void setFileFilter(AbstractFileFilter fileFilter)

setFileFilter

public void setFileFilter(AbstractFileFilter fileFilter,
                          boolean updatePath)

isFilesDropEnabled

public boolean isFilesDropEnabled()

setFilesDropEnabled

public void setFilesDropEnabled(boolean filesDropEnabled)

getSelectedPath

public java.io.File getSelectedPath()

setSelectedPath

public void setSelectedPath(java.io.File selectedPath)

getPathField

public WebTextField getPathField()

updatePath

public void updatePath()

updatePath

protected void updatePath(java.io.File path)

getSimilarFileChilds

protected java.util.List<java.io.File> getSimilarFileChilds(java.io.File file,
                                                            java.lang.String namePart)

getFileChilds

protected java.io.File[] getFileChilds(java.io.File file)

canShortenPath

protected boolean canShortenPath()

getMyComputer

protected WebButton getMyComputer()

getRootsMenu

public WebPopupMenu getRootsMenu()

getRootsMenuItemsCount

public int getRootsMenuItemsCount()

setRootsMenu

public void setRootsMenu(WebPopupMenu rootsMenu,
                         int childsCount)

getRootsArrowButton

protected WebToggleButton getRootsArrowButton(boolean ltr)

folderSelected

protected void folderSelected(java.io.File folder)

addPathFieldListener

public void addPathFieldListener(PathFieldListener listener)

removePathFieldListener

public void removePathFieldListener(PathFieldListener listener)

fireDirectoryChanged

protected void fireDirectoryChanged(java.io.File newDirectory)

applyComponentOrientation

public void applyComponentOrientation(java.awt.ComponentOrientation o)
Overrides:
applyComponentOrientation in class java.awt.Container