Package 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
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:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JFileChooser
JFileChooser.AccessibleJFileChooserNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final StringProperty for_availableButtons.static final StringBound property for_navigationFieldVisible.static final Stringstatic final StringFields 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_PROPERTYFields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
ConstructorsConstructorDescriptionFolderChooser(File currentDirectory) FolderChooser(File currentDirectory, FileSystemView fsv) FolderChooser(String currentDirectoryPath) FolderChooser(String currentDirectoryPath, FileSystemView fsv) -
Method Summary
Modifier and TypeMethodDescriptionintGet the visibilities of each buttons on the title bar of dockable frame.Gets the comparator that will be used to compare the folders displayed in the FolderChooser.Gets recent selected folder list.Returns the selected folder.Returns a string that specifies the name of the Linvalid input: '&F' class that renders this component.booleanDetermines whether the navigation text field is visible.booleanGet the visibility of the recent list combobox.voidsetAvailableButtons(int availableButtons) Set the visibilities of each buttons on the title bar of dockable frame.voidsetFileComparator(Comparator<File> fileComparator) Sets the comparator that will be used to compare the folders displayed in the FolderChooser.voidsetFileFilter(FileFilter filter) voidsetNavigationFieldVisible(boolean navigationFieldVisible) Sets the navigation text fields visibility.voidsetRecentList(List<String> recentList) Sets the recent folder list.voidsetRecentListVisible(boolean recentListVisible) Set the visibility of the recent list combobox.voidsetSelectedFolder(File selectedFolder) Sets the selected folder.voidupdateUI()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, setFileHidingEnabled, setFileSelectionMode, setFileSystemView, setFileView, setMultiSelectionEnabled, setSelectedFile, setSelectedFiles, setup, showDialog, showOpenDialog, showSaveDialogMethods 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, updateMethods 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, validateTreeMethods 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
PROPERTY_RECENTLIST
- See Also:
-
PROPERTY_RECENTLIST_VISIBLE
- See Also:
-
BUTTON_ALL
public static final int BUTTON_ALL- See Also:
-
BUTTON_DELETE
public static final int BUTTON_DELETE- See Also:
-
BUTTON_NEW
public static final int BUTTON_NEW- See Also:
-
BUTTON_REFRESH
public static final int BUTTON_REFRESH- See Also:
-
BUTTON_DESKTOP
public static final int BUTTON_DESKTOP- See Also:
-
BUTTON_MY_DOCUMENTS
public static final int BUTTON_MY_DOCUMENTS- See Also:
-
PROPERTY_AVAILABLE_BUTTONS
Property for_availableButtons.- See Also:
-
PROPERTY_NAVIGATION_FIELD_VISIBLE
Bound property for_navigationFieldVisible.- See Also:
-
-
Constructor Details
-
FolderChooser
public FolderChooser() -
FolderChooser
-
FolderChooser
-
FolderChooser
-
FolderChooser
-
FolderChooser
-
-
Method Details
-
getRecentList
Gets recent selected folder list. The element in the list isFile.- Returns:
- the recent selected folder list.
-
setRecentList
Sets the recent folder list. The element in the list should beFile. Property change event onPROPERTY_RECENTLISTwill 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:
updateUIin classJFileChooser- See Also:
-
getUIClassID
Returns a string that specifies the name of the Linvalid input: '&F' class that renders this component.- Overrides:
getUIClassIDin classJFileChooser- Returns:
- the string "FolderChooserUI"
- See Also:
-
getSelectedFolder
Returns the selected folder. This can be set either by the programmer viasetSelectedFolderor 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
Sets the selected folder.
Property change eventJFileChooser.SELECTED_FILE_CHANGED_PROPERTYwill be fired when a new folder is selected.- Parameters:
selectedFolder- the selected folder- See Also:
-
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
- Overrides:
setFileFilterin classJFileChooser
-
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
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 useAlphanumFileComparatorto sort the folder alphanum-ly.- Parameters:
fileComparator- a new Comparator.
-