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()); }
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Container.AccessibleAWTContainer
JComponent.AccessibleJComponent
JFileChooser.AccessibleJFileChooser
Modifier and Type | Field | Description |
---|---|---|
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 String |
PROPERTY_AVAILABLE_BUTTONS |
Property for
_availableButtons . |
static String |
PROPERTY_NAVIGATION_FIELD_VISIBLE |
Bound property for
_navigationFieldVisible . |
static String |
PROPERTY_RECENTLIST |
|
static String |
PROPERTY_RECENTLIST_VISIBLE |
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
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
Constructor | Description |
---|---|
FolderChooser() |
|
FolderChooser(File currentDirectory) |
|
FolderChooser(File currentDirectory,
FileSystemView fsv) |
|
FolderChooser(String currentDirectoryPath) |
|
FolderChooser(String currentDirectoryPath,
FileSystemView fsv) |
|
FolderChooser(FileSystemView fsv) |
Modifier and Type | Method | Description |
---|---|---|
int |
getAvailableButtons() |
Get the visibilities of each buttons on the title bar of dockable frame.
|
Comparator<File> |
getFileComparator() |
Gets the comparator that will be used to compare the folders displayed in the FolderChooser.
|
List<String> |
getRecentList() |
Gets recent selected folder list.
|
File |
getSelectedFolder() |
Returns the selected folder.
|
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 |
setFileComparator(Comparator<File> fileComparator) |
Sets the comparator that will be used to compare the folders displayed in the FolderChooser.
|
void |
setFileFilter(FileFilter filter) |
|
void |
setNavigationFieldVisible(boolean navigationFieldVisible) |
Sets the navigation text fields visibility.
|
void |
setRecentList(List<String> recentList) |
Sets the recent folder list.
|
void |
setRecentListVisible(boolean recentListVisible) |
Set the visibility of the recent list combobox.
|
void |
setSelectedFolder(File selectedFolder) |
Sets the selected folder.
|
void |
updateUI() |
Resets the UI property to a value from the current look and feel.
|
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
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
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, update
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
public static final String PROPERTY_RECENTLIST
public static final String PROPERTY_RECENTLIST_VISIBLE
public static final int BUTTON_ALL
public static final int BUTTON_DELETE
public static final int BUTTON_NEW
public static final int BUTTON_REFRESH
public static final int BUTTON_DESKTOP
public static final int BUTTON_MY_DOCUMENTS
public static final String PROPERTY_AVAILABLE_BUTTONS
_availableButtons
.setAvailableButtons(int)
,
Constant Field Valuespublic static final String PROPERTY_NAVIGATION_FIELD_VISIBLE
_navigationFieldVisible
.public FolderChooser()
public FolderChooser(String currentDirectoryPath)
public FolderChooser(File currentDirectory)
public FolderChooser(FileSystemView fsv)
public FolderChooser(File currentDirectory, FileSystemView fsv)
public FolderChooser(String currentDirectoryPath, FileSystemView fsv)
public List<String> getRecentList()
File
.public void setRecentList(List<String> recentList)
File
. Property change event on PROPERTY_RECENTLIST
will be fired when recent folder list is changed.recentList
- the recent folder list.public void updateUI()
updateUI
in class JFileChooser
JComponent.updateUI()
public String getUIClassID()
getUIClassID
in class JFileChooser
JComponent.getUIClassID()
,
UIDefaults.getUI(javax.swing.JComponent)
public File getSelectedFolder()
setSelectedFolder
or by a
user action, such as selecting the folder from a 'folder tree' in the UI.setSelectedFolder(java.io.File)
public void setSelectedFolder(File selectedFolder)
Property change event
JFileChooser.SELECTED_FILE_CHANGED_PROPERTY
will
be fired when a new folder is selected.selectedFolder
- the selected foldergetSelectedFolder()
public void setNavigationFieldVisible(boolean navigationFieldVisible)
navigationFieldVisible
- if true, the navigation text field is displayed; otherwise it is hidden.public boolean isNavigationFieldVisible()
public int getAvailableButtons()
public void setAvailableButtons(int availableButtons)
availableButtons
- the visibilities of each buttons. It's a bit wise OR of values specified at BUTTON_XXX.public boolean isRecentListVisible()
public void setRecentListVisible(boolean recentListVisible)
recentListVisible
- the visibility of the comboboxpublic void setFileFilter(FileFilter filter)
setFileFilter
in class JFileChooser
public Comparator<File> getFileComparator()
public void setFileComparator(Comparator<File> fileComparator)
AlphanumFileComparator
to sort the folder alphanum-ly.fileComparator
- a new Comparator.