JIDE Common Layer 2.7.6

com.jidesoft.swing
Class FolderChooser

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JFileChooser
                  extended by com.jidesoft.swing.FolderChooser
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class FolderChooser
extends javax.swing.JFileChooser

FolderChooser provides a simple mechanism for the user to choose a folder.

In addition to supporting the basic folder choosing function, it also supports create new folder, delete an existing folder. Another useful feature is recent list. It allows you to set a list of recent selected folders so that user can choose them directly instead of navigating to it in the file system tree.

The following code pops up a folder chooser for user to choose a folder.

    FolderChooser chooser = new FolderChooser();
    int returnVal = chooser.showOpenDialog(parent);
    if(returnVal == FolderChooser.APPROVE_OPTION) {
       System.out.println("You chose to open this file: " +
            chooser.getSelectedFile().getName());
    }
 

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JFileChooser
javax.swing.JFileChooser.AccessibleJFileChooser
 
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
static int BUTTON_ALL
           
static int BUTTON_DELETE
           
static int BUTTON_DESKTOP
           
static int BUTTON_MY_DOCUMENTS
           
static int BUTTON_NEW
           
static int BUTTON_REFRESH
           
static java.lang.String PROPERTY_AVAILABLE_BUTTONS
          Property for _availableButtons.
static java.lang.String PROPERTY_NAVIGATION_FIELD_VISIBLE
          Bound property for _navigationFieldVisible.
static java.lang.String PROPERTY_RECENTLIST
           
static java.lang.String PROPERTY_RECENTLIST_VISIBLE
           
 
Fields inherited from class javax.swing.JFileChooser
ACCEPT_ALL_FILE_FILTER_USED_CHANGED_PROPERTY, accessibleContext, ACCESSORY_CHANGED_PROPERTY, APPROVE_BUTTON_MNEMONIC_CHANGED_PROPERTY, APPROVE_BUTTON_TEXT_CHANGED_PROPERTY, APPROVE_BUTTON_TOOL_TIP_TEXT_CHANGED_PROPERTY, APPROVE_OPTION, APPROVE_SELECTION, CANCEL_OPTION, CANCEL_SELECTION, CHOOSABLE_FILE_FILTER_CHANGED_PROPERTY, CONTROL_BUTTONS_ARE_SHOWN_CHANGED_PROPERTY, CUSTOM_DIALOG, DIALOG_TITLE_CHANGED_PROPERTY, DIALOG_TYPE_CHANGED_PROPERTY, DIRECTORIES_ONLY, DIRECTORY_CHANGED_PROPERTY, ERROR_OPTION, FILE_FILTER_CHANGED_PROPERTY, FILE_HIDING_CHANGED_PROPERTY, FILE_SELECTION_MODE_CHANGED_PROPERTY, FILE_SYSTEM_VIEW_CHANGED_PROPERTY, FILE_VIEW_CHANGED_PROPERTY, FILES_AND_DIRECTORIES, FILES_ONLY, MULTI_SELECTION_ENABLED_CHANGED_PROPERTY, OPEN_DIALOG, SAVE_DIALOG, SELECTED_FILE_CHANGED_PROPERTY, SELECTED_FILES_CHANGED_PROPERTY
 
Fields inherited from class javax.swing.JComponent
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
FolderChooser()
           
FolderChooser(java.io.File currentDirectory)
           
FolderChooser(java.io.File currentDirectory, javax.swing.filechooser.FileSystemView fsv)
           
FolderChooser(javax.swing.filechooser.FileSystemView fsv)
           
FolderChooser(java.lang.String currentDirectoryPath)
           
FolderChooser(java.lang.String currentDirectoryPath, javax.swing.filechooser.FileSystemView fsv)
           
 
Method Summary
 int getAvailableButtons()
          Get the visibilities of each buttons on the title bar of dockable frame.
 java.util.List<java.lang.String> getRecentList()
          Gets recent selected folder list.
 java.io.File getSelectedFolder()
          Returns the selected folder.
 java.lang.String getUIClassID()
          Returns a string that specifies the name of the L&F class that renders this component.
 boolean isNavigationFieldVisible()
          Determines whether the navigation text field is visible.
 boolean isRecentListVisible()
          Get the visibility of the recent list combobox.
 void setAvailableButtons(int availableButtons)
          Set the visibilities of each buttons on the title bar of dockable frame.
 void setNavigationFieldVisible(boolean navigationFieldVisible)
          Sets the navigation text fields visibility.
 void setRecentList(java.util.List<java.lang.String> recentList)
          Sets the recent folder list.
 void setRecentListVisible(boolean recentListVisible)
          Set the visibility of the recent list combobox.
 void setSelectedFolder(java.io.File selectedFolder)
          Sets the selected folder.
 void updateUI()
          Resets the UI property to a value from the current look and feel.
 
Methods inherited from class javax.swing.JFileChooser
accept, addActionListener, addChoosableFileFilter, approveSelection, cancelSelection, changeToParentDirectory, createDialog, ensureFileIsVisible, fireActionPerformed, getAcceptAllFileFilter, getAccessibleContext, getAccessory, getActionListeners, getApproveButtonMnemonic, getApproveButtonText, getApproveButtonToolTipText, getChoosableFileFilters, getControlButtonsAreShown, getCurrentDirectory, getDescription, getDialogTitle, getDialogType, getDragEnabled, getFileFilter, getFileSelectionMode, getFileSystemView, getFileView, getIcon, getName, getSelectedFile, getSelectedFiles, getTypeDescription, getUI, isAcceptAllFileFilterUsed, isDirectorySelectionEnabled, isFileHidingEnabled, isFileSelectionEnabled, isMultiSelectionEnabled, isTraversable, paramString, removeActionListener, removeChoosableFileFilter, rescanCurrentDirectory, resetChoosableFileFilters, setAcceptAllFileFilterUsed, setAccessory, setApproveButtonMnemonic, setApproveButtonMnemonic, setApproveButtonText, setApproveButtonToolTipText, setControlButtonsAreShown, setCurrentDirectory, setDialogTitle, setDialogType, setDragEnabled, setFileFilter, setFileHidingEnabled, setFileSelectionMode, setFileSystemView, setFileView, setMultiSelectionEnabled, setSelectedFile, setSelectedFiles, setup, showDialog, showOpenDialog, showSaveDialog
 
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, getPreferredSize, 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, 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, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

PROPERTY_RECENTLIST

public static final java.lang.String PROPERTY_RECENTLIST
See Also:
Constant Field Values

PROPERTY_RECENTLIST_VISIBLE

public static final java.lang.String PROPERTY_RECENTLIST_VISIBLE
See Also:
Constant Field Values

BUTTON_ALL

public static final int BUTTON_ALL
See Also:
Constant Field Values

BUTTON_DELETE

public static final int BUTTON_DELETE
See Also:
Constant Field Values

BUTTON_NEW

public static final int BUTTON_NEW
See Also:
Constant Field Values

BUTTON_REFRESH

public static final int BUTTON_REFRESH
See Also:
Constant Field Values

BUTTON_DESKTOP

public static final int BUTTON_DESKTOP
See Also:
Constant Field Values

BUTTON_MY_DOCUMENTS

public static final int BUTTON_MY_DOCUMENTS
See Also:
Constant Field Values

PROPERTY_AVAILABLE_BUTTONS

public static final java.lang.String PROPERTY_AVAILABLE_BUTTONS
Property for _availableButtons.

See Also:
setAvailableButtons(int), Constant Field Values

PROPERTY_NAVIGATION_FIELD_VISIBLE

public static final java.lang.String PROPERTY_NAVIGATION_FIELD_VISIBLE
Bound property for _navigationFieldVisible.

See Also:
setNavigationFieldVisible(boolean), Constant Field Values
Constructor Detail

FolderChooser

public FolderChooser()

FolderChooser

public FolderChooser(java.lang.String currentDirectoryPath)

FolderChooser

public FolderChooser(java.io.File currentDirectory)

FolderChooser

public FolderChooser(javax.swing.filechooser.FileSystemView fsv)

FolderChooser

public FolderChooser(java.io.File currentDirectory,
                     javax.swing.filechooser.FileSystemView fsv)

FolderChooser

public FolderChooser(java.lang.String currentDirectoryPath,
                     javax.swing.filechooser.FileSystemView fsv)
Method Detail

getRecentList

public java.util.List<java.lang.String> getRecentList()
Gets recent selected folder list. The element in the list is File.

Returns:
the recent selected folder list.

setRecentList

public void setRecentList(java.util.List<java.lang.String> recentList)
Sets the recent folder list. The element in the list should be File. Property change event on PROPERTY_RECENTLIST will be fired when recent folder list is changed.

Parameters:
recentList - the recent folder list.

updateUI

public void updateUI()
Resets the UI property to a value from the current look and feel.

Overrides:
updateUI in class javax.swing.JFileChooser
See Also:
JComponent.updateUI()

getUIClassID

public java.lang.String getUIClassID()
Returns a string that specifies the name of the L&F class that renders this component.

Overrides:
getUIClassID in class javax.swing.JFileChooser
Returns:
the string "FolderChooserUI"
See Also:
JComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)

getSelectedFolder

public java.io.File getSelectedFolder()
Returns the selected folder. This can be set either by the programmer via setSelectedFolder or by a user action, such as selecting the folder from a 'folder tree' in the UI.

Returns:
the selected folder in the folder tree
See Also:
setSelectedFolder(java.io.File)

setSelectedFolder

public void setSelectedFolder(java.io.File selectedFolder)
Sets the selected folder.

Property change event JFileChooser.SELECTED_FILE_CHANGED_PROPERTY will be fired when a new folder is selected.

Parameters:
selectedFolder - the selected folder
See Also:
getSelectedFolder()

setNavigationFieldVisible

public void setNavigationFieldVisible(boolean navigationFieldVisible)
Sets the navigation text fields visibility.

Parameters:
navigationFieldVisible - if true, the navigation text field is displayed; otherwise it is hidden.

isNavigationFieldVisible

public boolean isNavigationFieldVisible()
Determines whether the navigation text field is visible.

Returns:
true if the navigation text field is visible; otherwise false.

getAvailableButtons

public int getAvailableButtons()
Get the visibilities of each buttons on the title bar of dockable frame.

Returns:
the visibilities of each buttons. It's a bit wise OR of values specified at BUTTON_XXX.

setAvailableButtons

public void setAvailableButtons(int availableButtons)
Set the visibilities of each buttons on the title bar of dockable frame.

Parameters:
availableButtons - the visibilities of each buttons. It's a bit wise OR of values specified at BUTTON_XXX.

isRecentListVisible

public boolean isRecentListVisible()
Get the visibility of the recent list combobox.

Returns:
the visibility of the combobox.

setRecentListVisible

public void setRecentListVisible(boolean recentListVisible)
Set the visibility of the recent list combobox.

Parameters:
recentListVisible - the visibility of the combobox

JIDE Common Layer 2.7.6