com.jidesoft.swing
Class FolderChooser
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JFileChooser
com.jidesoft.swing.FolderChooser
- All Implemented Interfaces:
- ImageObserver, MenuContainer, Serializable, Accessible
public class FolderChooser
- extends 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
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 |
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, 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 |
PROPERTY_RECENTLIST
public static final String PROPERTY_RECENTLIST
- See Also:
- Constant Field Values
PROPERTY_RECENTLIST_VISIBLE
public static final 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 String PROPERTY_AVAILABLE_BUTTONS
- Property for
_availableButtons
.
- See Also:
setAvailableButtons(int)
,
Constant Field Values
PROPERTY_NAVIGATION_FIELD_VISIBLE
public static final String PROPERTY_NAVIGATION_FIELD_VISIBLE
- Bound property for
_navigationFieldVisible
.
- See Also:
setNavigationFieldVisible(boolean)
,
Constant Field Values
FolderChooser
public FolderChooser()
FolderChooser
public FolderChooser(String currentDirectoryPath)
FolderChooser
public FolderChooser(File currentDirectory)
FolderChooser
public FolderChooser(FileSystemView fsv)
FolderChooser
public FolderChooser(File currentDirectory,
FileSystemView fsv)
FolderChooser
public FolderChooser(String currentDirectoryPath,
FileSystemView fsv)
getRecentList
public List<String> getRecentList()
- Gets recent selected folder list. The element in the list is
File
.
- Returns:
- the recent selected folder list.
setRecentList
public void setRecentList(List<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 JFileChooser
- See Also:
JComponent.updateUI()
getUIClassID
public String getUIClassID()
- Returns a string that specifies the name of the L&F class that renders this component.
- Overrides:
getUIClassID
in class JFileChooser
- Returns:
- the string "FolderChooserUI"
- See Also:
JComponent.getUIClassID()
,
UIDefaults.getUI(javax.swing.JComponent)
getSelectedFolder
public 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(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
setFileFilter
public void setFileFilter(FileFilter filter)
- Overrides:
setFileFilter
in class JFileChooser
getFileComparator
public Comparator<File> getFileComparator()
- Gets the comparator that will be used to compare the folders displayed in the FolderChooser. This comparator will
determine the order of the folders. It returns null by default.
- Returns:
- the Comparator.
setFileComparator
public void setFileComparator(Comparator<File> fileComparator)
- Sets the comparator that will be used to compare the folders displayed in the FolderChooser. This comparator will
determine the order of the folders. For example, you can use
AlphanumFileComparator
to sort the folder alphanum-ly.
- Parameters:
fileComparator
- a new Comparator.