JavaTM Platform
Standard Ed. 6

javax.swing
类 JFileChooser

java.lang.Object
  继承者 java.awt.Component
      继承者 java.awt.Container
          继承者 javax.swing.JComponent
              继承者 javax.swing.JFileChooser
所有已实现的接口:
ImageObserver, MenuContainer, Serializable, Accessible

public class JFileChooser
extends JComponent
implements Accessible

JFileChooser 为用户选择文件提供了一种简单的机制。有关使用 JFileChooser 的更多信息,请参阅 The Java Tutorial 中的 How to Use File Choosers 一节。

以下代码弹出一个针对用户主目录的文件选择器,其中只显示 .jpg 和 .gif 图像:

    JFileChooser chooser = new JFileChooser();
    FileNameExtensionFilter filter = new FileNameExtensionFilter(
        "JPG & GIF Images", "jpg", "gif");
    chooser.setFileFilter(filter);
    int returnVal = chooser.showOpenDialog(parent);
    if(returnVal == JFileChooser.APPROVE_OPTION) {
       System.out.println("You chose to open this file: " +
            chooser.getSelectedFile().getName());
    }
 

警告:Swing 不是线程安全的。有关更多信息,请参阅 Swing's Threading Policy


嵌套类摘要
protected  class JFileChooser.AccessibleJFileChooser
          此类实现对 JFileChooser 类的可访问性支持。
 
从类 javax.swing.JComponent 继承的嵌套类/接口
JComponent.AccessibleJComponent
 
从类 java.awt.Container 继承的嵌套类/接口
Container.AccessibleAWTContainer
 
从类 java.awt.Component 继承的嵌套类/接口
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
字段摘要
static String ACCEPT_ALL_FILE_FILTER_USED_CHANGED_PROPERTY
          标识是否使用 AcceptAllFileFilter。
protected  AccessibleContext accessibleContext
           
static String ACCESSORY_CHANGED_PROPERTY
          声明正在使用不同的 accessory 组件(例如预览文件)。
static String APPROVE_BUTTON_MNEMONIC_CHANGED_PROPERTY
          标识用于确认(yes、ok)按钮的助记符的更改。
static String APPROVE_BUTTON_TEXT_CHANGED_PROPERTY
          标识确认(yes、ok)按钮上的文本更改。
static String APPROVE_BUTTON_TOOL_TIP_TEXT_CHANGED_PROPERTY
          标识用于确认(yes、ok)按钮的工具提示文本的更改。
static int APPROVE_OPTION
          选择确认(yes、ok)后返回该值。
static String APPROVE_SELECTION
          指示确认当前的选择(与按下 yes 或 ok 相同)。
static int CANCEL_OPTION
          选择 cancel 后的返回该值。
static String CANCEL_SELECTION
          指示取消当前的选择。
static String CHOOSABLE_FILE_FILTER_CHANGED_PROPERTY
          标识预定义文件过滤器列表的更改,用户可从该列表中进行选择。
static String CONTROL_BUTTONS_ARE_SHOWN_CHANGED_PROPERTY
          指示显示控制按钮。
static int CUSTOM_DIALOG
          指示 JFileChooser 支持特定于开发人员文件操作的类型值。
static String DIALOG_TITLE_CHANGED_PROPERTY
          标识对话框标题的更改。
static String DIALOG_TYPE_CHANGED_PROPERTY
          标识显示文件类型的更改(仅显示文件、仅显示目录或显示文件和目录)。
static int DIRECTORIES_ONLY
          指示仅显示目录。
static String DIRECTORY_CHANGED_PROPERTY
          标识用户的目录更改。
static int ERROR_OPTION
          发生错误后返回该值。
static String FILE_FILTER_CHANGED_PROPERTY
          用户更改要显示的文件种类。
static String FILE_HIDING_CHANGED_PROPERTY
          标识在显示隐藏文件属性中的更改。
static String FILE_SELECTION_MODE_CHANGED_PROPERTY
          标识在选择种类(选择单个、多个等等)方面的更改。
static String FILE_SYSTEM_VIEW_CHANGED_PROPERTY
          声明使用其他对象在系统上查找可用的驱动器。
static String FILE_VIEW_CHANGED_PROPERTY
          声明使用其他对象检索文件信息。
static int FILES_AND_DIRECTORIES
          指示显示文件和目录。
static int FILES_ONLY
          指示仅显示文件。
static String MULTI_SELECTION_ENABLED_CHANGED_PROPERTY
          允许选择多个文件。
static int OPEN_DIALOG
          指示 JFileChooser 支持 "Open" 文件操作的类型值。
static int SAVE_DIALOG
          指示 JFileChooser 支持 "Save" 文件操作的类型值。
static String SELECTED_FILE_CHANGED_PROPERTY
          标识用户单个文件选择的更改。
static String SELECTED_FILES_CHANGED_PROPERTY
          标识用户多个文件选择的更改。
 
从类 javax.swing.JComponent 继承的字段
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
从类 java.awt.Component 继承的字段
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
从接口 java.awt.image.ImageObserver 继承的字段
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
构造方法摘要
JFileChooser()
          构造一个指向用户默认目录的 JFileChooser
JFileChooser(File currentDirectory)
          使用给定的 File 作为路径来构造一个 JFileChooser
JFileChooser(File currentDirectory, FileSystemView fsv)
          使用给定的当前目录和 FileSystemView 构造一个 JFileChooser
JFileChooser(FileSystemView fsv)
          使用给定的 FileSystemView 构造一个 JFileChooser
JFileChooser(String currentDirectoryPath)
          构造一个使用给定路径的 JFileChooser
JFileChooser(String currentDirectoryPath, FileSystemView fsv)
          使用给定的当前目录路径和 FileSystemView 构造一个 JFileChooser
 
方法摘要
 boolean accept(File f)
          如果应该显示该文件,则返回 true。
 void addActionListener(ActionListener l)
          向文件选择器添加一个 ActionListener
 void addChoosableFileFilter(FileFilter filter)
          向用户可选择的文件过滤器列表添加一个过滤器。
 void approveSelection()
          用户单击 Approve 按钮(默认情况下标有 "Open" 或 "Save")时由 UI 调用此方法。
 void cancelSelection()
          用户选择 Cancel 按钮时由 UI 调用此方法。
 void changeToParentDirectory()
          将要设置的目录更改为当前目录的父级。
protected  JDialog createDialog(Component parent)
          创建并返回包含 this 的新 JDialog,在 parent 窗体中的 parent 上居中。
 void ensureFileIsVisible(File f)
          确保指定的文件是可见的,不是隐藏的。
protected  void fireActionPerformed(String command)
          通知对此事件类型感兴趣的所有侦听器。
 FileFilter getAcceptAllFileFilter()
          返回 AcceptAll 文件过滤器。
 AccessibleContext getAccessibleContext()
          获取与此 JFileChooser 关联的 AccessibleContext。
 JComponent getAccessory()
          返回 accessory 组件。
 ActionListener[] getActionListeners()
          返回在此文件选择器上注册的所有操作侦听器的数组。
 int getApproveButtonMnemonic()
          返回确认按钮的助记符。
 String getApproveButtonText()
          返回 ApproveButton 中的 FileChooserUI 内使用的文本。
 String getApproveButtonToolTipText()
          返回 ApproveButton 中使用的工具提示文本。
 FileFilter[] getChoosableFileFilters()
          获得用户可选择的文件过滤器列表。
 boolean getControlButtonsAreShown()
          返回 controlButtonsAreShown 属性的值。
 File getCurrentDirectory()
          返回当前目录。
 String getDescription(File f)
          返回文件描述。
 String getDialogTitle()
          获得 JFileChooser 的标题栏中所显示的字符串。
 int getDialogType()
          返回此对话框的类型。
 boolean getDragEnabled()
          获得 dragEnabled 属性的值。
 FileFilter getFileFilter()
          返回当前选择的文件过滤器。
 int getFileSelectionMode()
          返回当前的文件选择模式。
 FileSystemView getFileSystemView()
          返回文件系统视图。
 FileView getFileView()
          返回当前的文件视图。
 Icon getIcon(File f)
          返回此文件或文件类型的图标,这取决于系统。
 String getName(File f)
          返回文件名。
 File getSelectedFile()
          返回选中的文件。
 File[] getSelectedFiles()
          如果将文件选择器设置为允许选择多个文件,则返回选中文件的列表。
 String getTypeDescription(File f)
          返回文件类型。
 FileChooserUI getUI()
          获得实现此组件 L&F 的 UI 对象。
 String getUIClassID()
          返回一个指示 L&F 类名的字符串,该类负责呈现此组件。
 boolean isAcceptAllFileFilterUsed()
          返回是否使用 AcceptAll FileFilter
 boolean isDirectorySelectionEnabled()
          方便的调用,可根据当前的文件选择模式确定目录是否为可选择的。
 boolean isFileHidingEnabled()
          如果在文件选择器中不显示隐藏文件,则返回 true;否则返回 false。
 boolean isFileSelectionEnabled()
          方便的调用,可根据当前的文件选择模式确定文件是否为可选择的。
 boolean isMultiSelectionEnabled()
          如果可以选择多个文件,则返回 true。
 boolean isTraversable(File f)
          如果可以返回该文件(目录),则返回 true。
protected  String paramString()
          返回此 JFileChooser 的字符串表示形式。
 void removeActionListener(ActionListener l)
          从文件选择器中移除一个 ActionListener
 boolean removeChoosableFileFilter(FileFilter f)
          从用户可选择的文件过滤器列表中移除一个过滤器。
 void rescanCurrentDirectory()
          通知 UI 重新扫描当前目录的文件列表。
 void resetChoosableFileFilters()
          将可选择文件过滤器列表重置为其开始状态。
 void setAcceptAllFileFilterUsed(boolean b)
          确定是否将 AcceptAll FileFilter 用作可选择过滤器列表中一个可用选项。
 void setAccessory(JComponent newAccessory)
          设置 accessory 组件。
 void setApproveButtonMnemonic(char mnemonic)
          使用字符设置确认按钮的助记符。
 void setApproveButtonMnemonic(int mnemonic)
          使用数值键代码设置确认按钮的助记符。
 void setApproveButtonText(String approveButtonText)
          设置 FileChooserUI 中的 ApproveButton 内使用的文本。
 void setApproveButtonToolTipText(String toolTipText)
          设置 ApproveButton 中使用的工具提示文本。
 void setControlButtonsAreShown(boolean b)
          设置属性,指示在文件选择器中是否显示 approvecancel 按钮。
 void setCurrentDirectory(File dir)
          设置当前目录。
 void setDialogTitle(String dialogTitle)
          设置显示在 JFileChooser 窗口标题栏的字符串。
 void setDialogType(int dialogType)
          设置此对话框的类型。
 void setDragEnabled(boolean b)
          设置 dragEnabled 属性,要在此组件上启用自动拖动处理(drag 和 drop 的第一部分),此属性必须为 true
 void setFileFilter(FileFilter filter)
          设置当前文件过滤器。
 void setFileHidingEnabled(boolean b)
          设置是否实现文件隐藏。
 void setFileSelectionMode(int mode)
          设置 JFileChooser,以允许用户只选择文件、只选择目录,或者可选择文件和目录。
 void setFileSystemView(FileSystemView fsv)
          设置为访问和创建文件系统资源(如查找软驱和获得根驱动器列表),JFileChooser 所使用的文件系统视图。
 void setFileView(FileView fileView)
          设置用于检索 UI 信息的文件视图,如表示文件的图标或文件的类型描述。
 void setMultiSelectionEnabled(boolean b)
          设置文件选择器,以允许选择多个文件。
 void setSelectedFile(File file)
          设置选中的文件。
 void setSelectedFiles(File[] selectedFiles)
          如果将文件选择器设置为允许选择多个文件,则设置选中文件的列表。
protected  void setup(FileSystemView view)
          执行公共的构造方法初始化和设置。
 int showDialog(Component parent, String approveButtonText)
          弹出具有自定义 approve 按钮的自定义文件选择器对话框。
 int showOpenDialog(Component parent)
          弹出一个 "Open File" 文件选择器对话框。
 int showSaveDialog(Component parent)
          弹出一个 "Save File" 文件选择器对话框。
 void updateUI()
          将 UI 属性重置为当前的外观值。
 
从类 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
 
从类 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, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
从类 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
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

字段详细信息

OPEN_DIALOG

public static final int OPEN_DIALOG
指示 JFileChooser 支持 "Open" 文件操作的类型值。

另请参见:
常量字段值

SAVE_DIALOG

public static final int SAVE_DIALOG
指示 JFileChooser 支持 "Save" 文件操作的类型值。

另请参见:
常量字段值

CUSTOM_DIALOG

public static final int CUSTOM_DIALOG
指示 JFileChooser 支持特定于开发人员文件操作的类型值。

另请参见:
常量字段值

CANCEL_OPTION

public static final int CANCEL_OPTION
选择 cancel 后的返回该值。

另请参见:
常量字段值

APPROVE_OPTION

public static final int APPROVE_OPTION
选择确认(yes、ok)后返回该值。

另请参见:
常量字段值

ERROR_OPTION

public static final int ERROR_OPTION
发生错误后返回该值。

另请参见:
常量字段值

FILES_ONLY

public static final int FILES_ONLY
指示仅显示文件。

另请参见:
常量字段值

DIRECTORIES_ONLY

public static final int DIRECTORIES_ONLY
指示仅显示目录。

另请参见:
常量字段值

FILES_AND_DIRECTORIES

public static final int FILES_AND_DIRECTORIES
指示显示文件和目录。

另请参见:
常量字段值

CANCEL_SELECTION

public static final String CANCEL_SELECTION
指示取消当前的选择。

另请参见:
常量字段值

APPROVE_SELECTION

public static final String APPROVE_SELECTION
指示确认当前的选择(与按下 yes 或 ok 相同)。

另请参见:
常量字段值

APPROVE_BUTTON_TEXT_CHANGED_PROPERTY

public static final String APPROVE_BUTTON_TEXT_CHANGED_PROPERTY
标识确认(yes、ok)按钮上的文本更改。

另请参见:
常量字段值

APPROVE_BUTTON_TOOL_TIP_TEXT_CHANGED_PROPERTY

public static final String APPROVE_BUTTON_TOOL_TIP_TEXT_CHANGED_PROPERTY
标识用于确认(yes、ok)按钮的工具提示文本的更改。

另请参见:
常量字段值

APPROVE_BUTTON_MNEMONIC_CHANGED_PROPERTY

public static final String APPROVE_BUTTON_MNEMONIC_CHANGED_PROPERTY
标识用于确认(yes、ok)按钮的助记符的更改。

另请参见:
常量字段值

CONTROL_BUTTONS_ARE_SHOWN_CHANGED_PROPERTY

public static final String CONTROL_BUTTONS_ARE_SHOWN_CHANGED_PROPERTY
指示显示控制按钮。

另请参见:
常量字段值

DIRECTORY_CHANGED_PROPERTY

public static final String DIRECTORY_CHANGED_PROPERTY
标识用户的目录更改。

另请参见:
常量字段值

SELECTED_FILE_CHANGED_PROPERTY

public static final String SELECTED_FILE_CHANGED_PROPERTY
标识用户单个文件选择的更改。

另请参见:
常量字段值

SELECTED_FILES_CHANGED_PROPERTY

public static final String SELECTED_FILES_CHANGED_PROPERTY
标识用户多个文件选择的更改。

另请参见:
常量字段值

MULTI_SELECTION_ENABLED_CHANGED_PROPERTY

public static final String MULTI_SELECTION_ENABLED_CHANGED_PROPERTY
允许选择多个文件。

另请参见:
常量字段值

FILE_SYSTEM_VIEW_CHANGED_PROPERTY

public static final String FILE_SYSTEM_VIEW_CHANGED_PROPERTY
声明使用其他对象在系统上查找可用的驱动器。

另请参见:
常量字段值

FILE_VIEW_CHANGED_PROPERTY

public static final String FILE_VIEW_CHANGED_PROPERTY
声明使用其他对象检索文件信息。

另请参见:
常量字段值

FILE_HIDING_CHANGED_PROPERTY

public static final String FILE_HIDING_CHANGED_PROPERTY
标识在显示隐藏文件属性中的更改。

另请参见:
常量字段值

FILE_FILTER_CHANGED_PROPERTY

public static final String FILE_FILTER_CHANGED_PROPERTY
用户更改要显示的文件种类。

另请参见:
常量字段值

FILE_SELECTION_MODE_CHANGED_PROPERTY

public static final String FILE_SELECTION_MODE_CHANGED_PROPERTY
标识在选择种类(选择单个、多个等等)方面的更改。

另请参见:
常量字段值

ACCESSORY_CHANGED_PROPERTY

public static final String ACCESSORY_CHANGED_PROPERTY
声明正在使用不同的 accessory 组件(例如预览文件)。

另请参见:
常量字段值

ACCEPT_ALL_FILE_FILTER_USED_CHANGED_PROPERTY

public static final String ACCEPT_ALL_FILE_FILTER_USED_CHANGED_PROPERTY
标识是否使用 AcceptAllFileFilter。

另请参见:
常量字段值

DIALOG_TITLE_CHANGED_PROPERTY

public static final String DIALOG_TITLE_CHANGED_PROPERTY
标识对话框标题的更改。

另请参见:
常量字段值

DIALOG_TYPE_CHANGED_PROPERTY

public static final String DIALOG_TYPE_CHANGED_PROPERTY
标识显示文件类型的更改(仅显示文件、仅显示目录或显示文件和目录)。

另请参见:
常量字段值

CHOOSABLE_FILE_FILTER_CHANGED_PROPERTY

public static final String CHOOSABLE_FILE_FILTER_CHANGED_PROPERTY
标识预定义文件过滤器列表的更改,用户可从该列表中进行选择。

另请参见:
常量字段值

accessibleContext

protected AccessibleContext accessibleContext
构造方法详细信息

JFileChooser

public JFileChooser()
构造一个指向用户默认目录的 JFileChooser。此默认目录取决于操作系统。在 Windows 上通常是“我的文档”,在 Unix 上是用户的主目录。


JFileChooser

public JFileChooser(String currentDirectoryPath)
构造一个使用给定路径的 JFileChooser。传入 null 字符串会导致文件选择器指向用户的默认目录。此默认目录取决于操作系统。在 Windows 上通常是“我的文档”,在 Unix 上是用户的主目录。

参数:
currentDirectoryPath - 给出文件或目录路径的 String

JFileChooser

public JFileChooser(File currentDirectory)
使用给定的 File 作为路径来构造一个 JFileChooser。传入 null 文件会导致文件选择器指向用户的默认目录。此默认目录取决于操作系统。在 Windows 上通常是“我的文档”,在 Unix 上是用户的主目录。

参数:
currentDirectory - 指出文件或目录路径的 File 对象

JFileChooser

public JFileChooser(FileSystemView fsv)
使用给定的 FileSystemView 构造一个 JFileChooser


JFileChooser

public JFileChooser(File currentDirectory,
                    FileSystemView fsv)
使用给定的当前目录和 FileSystemView 构造一个 JFileChooser


JFileChooser

public JFileChooser(String currentDirectoryPath,
                    FileSystemView fsv)
使用给定的当前目录路径和 FileSystemView 构造一个 JFileChooser

方法详细信息

setup

protected void setup(FileSystemView view)
执行公共的构造方法初始化和设置。


setDragEnabled

public void setDragEnabled(boolean b)
设置 dragEnabled 属性,要在此组件上启用自动拖动处理(drag 和 drop 的第一部分),此属性必须为 true。为了让该拖动完成所需的任务,需要将 transferHandler 属性设置为非 null 的值。dragEnabled 属性的默认值为 false

启用自动拖动处理后,每当用户在项上按下鼠标按键,然后将鼠标移动几个像素后,多数外观就开始拖放操作。因此将此属性设置为 true 对选择方式有一些影响。

某些外观可能不支持自动拖放;它们会忽略此属性。通过修改组件以直接调用 TransferHandlerexportAsDrag 方法,从而在此外观下工作。

参数:
b - 为 dragEnabled 属性设置的值
抛出:
HeadlessException - 如果 btrue 并且 GraphicsEnvironment.isHeadless() 返回 true
从以下版本开始:
1.4
另请参见:
GraphicsEnvironment.isHeadless(), getDragEnabled(), JComponent.setTransferHandler(javax.swing.TransferHandler), TransferHandler

getDragEnabled

public boolean getDragEnabled()
获得 dragEnabled 属性的值。

返回:
dragEnabled 属性的值
从以下版本开始:
1.4
另请参见:
setDragEnabled(boolean)

getSelectedFile

public File getSelectedFile()
返回选中的文件。可由程序员通过 setFile 或者通过用户操作(如在 UI 中键入文件名,或者从 UI 中的列表内选择文件)来进行此设置。

返回:
选中的文件
另请参见:
setSelectedFile(java.io.File)

setSelectedFile

public void setSelectedFile(File file)
设置选中的文件。如果该文件的父目录不是当前目录,则将当前目录更改为该文件的父目录。

参数:
file - 选中的文件
另请参见:
getSelectedFile()

getSelectedFiles

public File[] getSelectedFiles()
如果将文件选择器设置为允许选择多个文件,则返回选中文件的列表。


setSelectedFiles

public void setSelectedFiles(File[] selectedFiles)
如果将文件选择器设置为允许选择多个文件,则设置选中文件的列表。


getCurrentDirectory

public File getCurrentDirectory()
返回当前目录。

返回:
当前目录
另请参见:
setCurrentDirectory(java.io.File)

setCurrentDirectory

public void setCurrentDirectory(File dir)
设置当前目录。传入 null 会设置文件选择器指向用户的默认目录。此默认目录取决于操作系统。在 Windows 上通常是“我的文档”,在 Unix 上是用户的主目录。 如果作为 currentDirectory 所传入的文件不是一个目录,则使用该文件的父级作为 currentDirectory。如果该父级是不可遍历的,则会沿父级树向上查找,直到找到可遍历的目录,或者到达文件系统的根为止。

参数:
dir - 要指向的当前目录
另请参见:
getCurrentDirectory()

changeToParentDirectory

public void changeToParentDirectory()
将要设置的目录更改为当前目录的父级。

另请参见:
getCurrentDirectory()

rescanCurrentDirectory

public void rescanCurrentDirectory()
通知 UI 重新扫描当前目录的文件列表。


ensureFileIsVisible

public void ensureFileIsVisible(File f)
确保指定的文件是可见的,不是隐藏的。

参数:
f - 一个 File 对象

showOpenDialog

public int showOpenDialog(Component parent)
                   throws HeadlessException
弹出一个 "Open File" 文件选择器对话框。注意,approve 按钮上显示的文本由 L&F 决定。

参数:
parent - 该对话框的父组件,可以为 null;详情请参阅 showDialog
返回:
该文件选择器被弹下时的返回状态:
  • JFileChooser.CANCEL_OPTION
  • JFileChooser.APPROVE_OPTION
  • JFileChooser.ERROR_OPTION 如果发生错误或者该对话框已被解除
抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true。
另请参见:
GraphicsEnvironment.isHeadless(), showDialog(java.awt.Component, java.lang.String)

showSaveDialog

public int showSaveDialog(Component parent)
                   throws HeadlessException
弹出一个 "Save File" 文件选择器对话框。注意,approve 按钮上显示的文本由 L&F 决定。

参数:
parent - 该对话框的父组件,可以为 null;详情请参阅 showDialog
返回:
该文件选择器被弹下时的返回状态:
  • JFileChooser.CANCEL_OPTION
  • JFileChooser.APPROVE_OPTION
  • JFileChooser.ERROR_OPTION 如果发生错误或者该对话框已被解除
抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true。
另请参见:
GraphicsEnvironment.isHeadless(), showDialog(java.awt.Component, java.lang.String)

showDialog

public int showDialog(Component parent,
                      String approveButtonText)
               throws HeadlessException
弹出具有自定义 approve 按钮的自定义文件选择器对话框。例如,以下代码弹出具有 "Run Application" 按钮(而不是普通的 "Save" 或 "Open" 按钮)的文件选择器:
 filechooser.showDialog(parentFrame, "Run Application");
 
或者,以下代码也可以执行相同的操作:
    JFileChooser chooser = new JFileChooser(null);
    chooser.setApproveButtonText("Run Application");
    chooser.showDialog(parentFrame, null);
 

parent 参数确定两件事情:打开的对话框所依赖的窗体,以及组件(放置对话框时外观应该考虑该组件的位置)。如果 parent 是一个 Frame 对象(例如 JFrame),则该对话框取决于该窗体,并且外观相对于窗体放置该对话框(例如在窗体上居中)。如果 parent 是一个组件,则该对话框取决于包含该组件的窗体,并且相对于该组件放置该对话框(例如在组件上居中)。如果 parent 为 null,则该对话框取决于不可见的窗口,并且将其放置到与外观相关的位置,如屏幕的中央。

参数:
parent - 该对话框的父组件,可以为 null
approveButtonText - ApproveButton 的文本
返回:
该文件选择器被弹下时的返回状态:
  • JFileChooser.CANCEL_OPTION
  • JFileChooser.APPROVE_OPTION
  • JFileChooser.ERROR_OPTION 如果发生错误或者该对话框已被解除
抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true。
另请参见:
GraphicsEnvironment.isHeadless()

createDialog

protected JDialog createDialog(Component parent)
                        throws HeadlessException
创建并返回包含 this 的新 JDialog,在 parent 窗体中的 parent 上居中。可重写此方法以进一步地操作对话框、禁止调整大小、设置位置等等。例如:
     class MyFileChooser extends JFileChooser {
         protected JDialog createDialog(Component parent) throws HeadlessException {
             JDialog dialog = super.createDialog(parent);
             dialog.setLocation(300, 200);
             dialog.setResizable(false);
             return dialog;
         }
     }
 

参数:
parent - 该对话框的父组件,可以为 null
返回:
包含 this 实例的新 JDialog
抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true。
从以下版本开始:
1.4
另请参见:
GraphicsEnvironment.isHeadless()

getControlButtonsAreShown

public boolean getControlButtonsAreShown()
返回 controlButtonsAreShown 属性的值。

返回:
controlButtonsAreShown 属性的值
从以下版本开始:
1.3
另请参见:
setControlButtonsAreShown(boolean)

setControlButtonsAreShown

public void setControlButtonsAreShown(boolean b)
设置属性,指示在文件选择器中是否显示 approvecancel 按钮。此属性默认为 true。始终显示这些按钮的外观将忽略此属性的值。此方法激发一个属性更改事件,使用 CONTROL_BUTTONS_ARE_SHOWN_CHANGED_PROPERTY 字符串值作为属性名。

参数:
b - 如果不应显示控制按钮,则为 false;否则为 true
从以下版本开始:
1.3
另请参见:
getControlButtonsAreShown(), CONTROL_BUTTONS_ARE_SHOWN_CHANGED_PROPERTY

getDialogType

public int getDialogType()
返回此对话框的类型。默认值是 JFileChooser.OPEN_DIALOG

返回:
要显示的对话框的类型:
  • JFileChooser.OPEN_DIALOG
  • JFileChooser.SAVE_DIALOG
  • JFileChooser.CUSTOM_DIALOG
另请参见:
setDialogType(int)

setDialogType

public void setDialogType(int dialogType)
设置此对话框的类型。希望显示一个用户可用来打开文件的文件选择器时使用 OPEN_DIALOG。同样,使用 SAVE_DIALOG 可让用户选择用于保存的文件。想要在除 "Open" 或 "Save" 以外的上下文中使用文件选择器,则使用 CUSTOM_DIALOG。例如,您可能想要显示的文件选择器允许用户选择要执行的文件。注意,通常无需设置 JFileChooser 使用 CUSTOM_DIALOG,因为调用 setApproveButtonText 就已经这样作了。默认的对话框类型是 JFileChooser.OPEN_DIALOG

参数:
dialogType - 要显示的对话框的类型:
  • JFileChooser.OPEN_DIALOG
  • JFileChooser.SAVE_DIALOG
  • JFileChooser.CUSTOM_DIALOG
抛出:
IllegalArgumentException - 如果 dialogType 非法
另请参见:
getDialogType(), setApproveButtonText(java.lang.String)

setDialogTitle

public void setDialogTitle(String dialogTitle)
设置显示在 JFileChooser 窗口标题栏的字符串。

参数:
dialogTitle - 标题栏的新 String
另请参见:
getDialogTitle()

getDialogTitle

public String getDialogTitle()
获得 JFileChooser 的标题栏中所显示的字符串。

另请参见:
setDialogTitle(java.lang.String)

setApproveButtonToolTipText

public void setApproveButtonToolTipText(String toolTipText)
设置 ApproveButton 中使用的工具提示文本。如果为 null,则由 UI 对象确定该按钮的文本。

参数:
toolTipText - 用于确认按钮的工具提示文本
另请参见:
setApproveButtonText(java.lang.String), setDialogType(int), showDialog(java.awt.Component, java.lang.String)

getApproveButtonToolTipText

public String getApproveButtonToolTipText()
返回 ApproveButton 中使用的工具提示文本。如果为 null,则由 UI 对象确定该按钮的文本。

返回:
用于确认按钮的工具提示文本
另请参见:
setApproveButtonText(java.lang.String), setDialogType(int), showDialog(java.awt.Component, java.lang.String)

getApproveButtonMnemonic

public int getApproveButtonMnemonic()
返回确认按钮的助记符。

返回:
用于助记符键的整数值
另请参见:
setApproveButtonMnemonic(int)

setApproveButtonMnemonic

public void setApproveButtonMnemonic(int mnemonic)
使用数值键代码设置确认按钮的助记符。

参数:
mnemonic - 用于助记符键的整数值
另请参见:
getApproveButtonMnemonic()

setApproveButtonMnemonic

public void setApproveButtonMnemonic(char mnemonic)
使用字符设置确认按钮的助记符。

参数:
mnemonic - 用于助记符键的 char 值
另请参见:
getApproveButtonMnemonic()

setApproveButtonText

public void setApproveButtonText(String approveButtonText)
设置 FileChooserUI 中的 ApproveButton 内使用的文本。

参数:
approveButtonText - ApproveButton 中使用的文本
另请参见:
getApproveButtonText(), setDialogType(int), showDialog(java.awt.Component, java.lang.String)

getApproveButtonText

public String getApproveButtonText()
返回 ApproveButton 中的 FileChooserUI 内使用的文本。如果为 null,则由 UI 对象确定该按钮的文本。 通常该文本是 "Open" 或 "Save"。

返回:
ApproveButton 中使用的文本
另请参见:
setApproveButtonText(java.lang.String), setDialogType(int), showDialog(java.awt.Component, java.lang.String)

getChoosableFileFilters

public FileFilter[] getChoosableFileFilters()
获得用户可选择的文件过滤器列表。

返回:
包含所有可选择文件过滤器的 FileFilter 数组
另请参见:
addChoosableFileFilter(javax.swing.filechooser.FileFilter), removeChoosableFileFilter(javax.swing.filechooser.FileFilter), resetChoosableFileFilters()

addChoosableFileFilter

public void addChoosableFileFilter(FileFilter filter)
向用户可选择的文件过滤器列表添加一个过滤器。有关设置文件选择模式的信息,请参阅 setFileSelectionMode

参数:
filter - 添加到可选择文件过滤器列表的 FileFilter
另请参见:
getChoosableFileFilters(), removeChoosableFileFilter(javax.swing.filechooser.FileFilter), resetChoosableFileFilters(), setFileSelectionMode(int)

removeChoosableFileFilter

public boolean removeChoosableFileFilter(FileFilter f)
从用户可选择的文件过滤器列表中移除一个过滤器。如果移除了文件过滤器,则返回 true。

另请参见:
addChoosableFileFilter(javax.swing.filechooser.FileFilter), getChoosableFileFilters(), resetChoosableFileFilters()

resetChoosableFileFilters

public void resetChoosableFileFilters()
将可选择文件过滤器列表重置为其开始状态。通常这会移除所有已添加的文件过滤器并保留 AcceptAll 文件过滤器。

另请参见:
addChoosableFileFilter(javax.swing.filechooser.FileFilter), getChoosableFileFilters(), removeChoosableFileFilter(javax.swing.filechooser.FileFilter)

getAcceptAllFileFilter

public FileFilter getAcceptAllFileFilter()
返回 AcceptAll 文件过滤器。例如在 Microsoft Windows 上,这会是“所有文件” (*.*)。


isAcceptAllFileFilterUsed

public boolean isAcceptAllFileFilterUsed()
返回是否使用 AcceptAll FileFilter

返回:
如果使用 AcceptAll FileFilter,则返回 true
从以下版本开始:
1.3
另请参见:
setAcceptAllFileFilterUsed(boolean)

setAcceptAllFileFilterUsed

public void setAcceptAllFileFilterUsed(boolean b)
确定是否将 AcceptAll FileFilter 用作可选择过滤器列表中一个可用选项。如果为 false,则从可用文件过滤器的列表中移除 AcceptAll 文件过滤器。如果为 true,则 AcceptAll 文件过滤器将成为可用的文件过滤器。

从以下版本开始:
1.3
另请参见:
isAcceptAllFileFilterUsed(), getAcceptAllFileFilter(), setFileFilter(javax.swing.filechooser.FileFilter)

getAccessory

public JComponent getAccessory()
返回 accessory 组件。

返回:
此 JFileChooser 的 accessory 组件,或者为 null
另请参见:
setAccessory(javax.swing.JComponent)

setAccessory

public void setAccessory(JComponent newAccessory)
设置 accessory 组件。accessory 通常用于显示已选中文件的预览图像;可按程序员的要求将其用来显示任何内容,如额外的自定义文件选择器控件。

注:如果有以前使用的 accessory,则应该取消注册该 accessory 已向文件选择器所注册的所有侦听器。


setFileSelectionMode

public void setFileSelectionMode(int mode)
设置 JFileChooser,以允许用户只选择文件、只选择目录,或者可选择文件和目录。默认值是 JFilesChooser.FILES_ONLY

参数:
mode - 要显示的文件类型:
  • JFileChooser.FILES_ONLY
  • JFileChooser.DIRECTORIES_ONLY
  • JFileChooser.FILES_AND_DIRECTORIES
抛出:
IllegalArgumentException - 如果 mode 是非法的文件选择模式
另请参见:
getFileSelectionMode()

getFileSelectionMode

public int getFileSelectionMode()
返回当前的文件选择模式。默认值是 JFilesChooser.FILES_ONLY

返回:
要显示的文件类型,为下列值之一:
  • JFileChooser.FILES_ONLY
  • JFileChooser.DIRECTORIES_ONLY
  • JFileChooser.FILES_AND_DIRECTORIES
另请参见:
setFileSelectionMode(int)

isFileSelectionEnabled

public boolean isFileSelectionEnabled()
方便的调用,可根据当前的文件选择模式确定文件是否为可选择的。

另请参见:
setFileSelectionMode(int), getFileSelectionMode()

isDirectorySelectionEnabled

public boolean isDirectorySelectionEnabled()
方便的调用,可根据当前的文件选择模式确定目录是否为可选择的。

另请参见:
setFileSelectionMode(int), getFileSelectionMode()

setMultiSelectionEnabled

public void setMultiSelectionEnabled(boolean b)
设置文件选择器,以允许选择多个文件。

参数:
b - 如果可以选择多个文件,则为 true
另请参见:
isMultiSelectionEnabled()

isMultiSelectionEnabled

public boolean isMultiSelectionEnabled()
如果可以选择多个文件,则返回 true。

返回:
如果可以选择多个文件,则返回 true
另请参见:
setMultiSelectionEnabled(boolean)

isFileHidingEnabled

public boolean isFileHidingEnabled()
如果在文件选择器中不显示隐藏文件,则返回 true;否则返回 false。

返回:
文件隐藏属性的状态
另请参见:
setFileHidingEnabled(boolean)

setFileHidingEnabled

public void setFileHidingEnabled(boolean b)
设置是否实现文件隐藏。如果为 true,则在文件选择器中不显示隐藏文件。确定显示哪些文件由 FileView 完成。

参数:
b - 确定是否开启文件隐藏的 boolean 值
另请参见:
isFileHidingEnabled()

setFileFilter

public void setFileFilter(FileFilter filter)
设置当前文件过滤器。文件选择器使用文件过滤器从用户的视图中过滤文件。

参数:
filter - 要使用的新的当前文件过滤器
另请参见:
getFileFilter()

getFileFilter

public FileFilter getFileFilter()
返回当前选择的文件过滤器。

返回:
当前的文件过滤器
另请参见:
setFileFilter(javax.swing.filechooser.FileFilter), addChoosableFileFilter(javax.swing.filechooser.FileFilter)

setFileView

public void setFileView(FileView fileView)
设置用于检索 UI 信息的文件视图,如表示文件的图标或文件的类型描述。

另请参见:
getFileView()

getFileView

public FileView getFileView()
返回当前的文件视图。

另请参见:
setFileView(javax.swing.filechooser.FileView)

getName

public String getName(File f)
返回文件名。

参数:
f - File
返回:
包含 f 文件名的 String
另请参见:
FileView.getName(java.io.File)

getDescription

public String getDescription(File f)
返回文件描述。

参数:
f - File
返回:
包含 f 文件描述的 String
另请参见:
FileView.getDescription(java.io.File)

getTypeDescription

public String getTypeDescription(File f)
返回文件类型。

参数:
f - File
返回:
包含 f 文件类型描述的 String
另请参见:
FileView.getTypeDescription(java.io.File)

getIcon

public Icon getIcon(File f)
返回此文件或文件类型的图标,这取决于系统。

参数:
f - File
返回:
此文件或文件类型的 Icon
另请参见:
FileView.getIcon(java.io.File)

isTraversable

public boolean isTraversable(File f)
如果可以返回该文件(目录),则返回 true。如果无法遍历目录,则返回 false。

参数:
f - File
返回:
如果可以遍历文件/目录,则返回 true;否则返回 false
另请参见:
FileView.isTraversable(java.io.File)

accept

public boolean accept(File f)
如果应该显示该文件,则返回 true。

参数:
f - File
返回:
如果应该显示该文件,则返回 true;否则返回 false
另请参见:
FileFilter.accept(java.io.File)

setFileSystemView

public void setFileSystemView(FileSystemView fsv)
设置为访问和创建文件系统资源(如查找软驱和获得根驱动器列表),JFileChooser 所使用的文件系统视图。

参数:
fsv - 新的 FileSystemView
另请参见:
FileSystemView

getFileSystemView

public FileSystemView getFileSystemView()
返回文件系统视图。

返回:
FileSystemView 对象
另请参见:
setFileSystemView(javax.swing.filechooser.FileSystemView)

approveSelection

public void approveSelection()
用户单击 Approve 按钮(默认情况下标有 "Open" 或 "Save")时由 UI 调用此方法。程序员也可调用此方法。此方法导致使用等效于 APPROVE_SELECTION 的命令字符串激发一个操作事件。

另请参见:
APPROVE_SELECTION

cancelSelection

public void cancelSelection()
用户选择 Cancel 按钮时由 UI 调用此方法。程序员也可调用此方法。此方法导致使用等效于 CANCEL_SELECTION 的命令字符串激发一个操作事件。

另请参见:
CANCEL_SELECTION

addActionListener

public void addActionListener(ActionListener l)
向文件选择器添加一个 ActionListener

参数:
l - 要添加的侦听器
另请参见:
approveSelection(), cancelSelection()

removeActionListener

public void removeActionListener(ActionListener l)
从文件选择器中移除一个 ActionListener

参数:
l - 要移除的侦听器
另请参见:
addActionListener(java.awt.event.ActionListener)

getActionListeners

public ActionListener[] getActionListeners()
返回在此文件选择器上注册的所有操作侦听器的数组。

返回:
此文件选择器的所有 ActionListener;如果当前没有注册任何操作侦听器,则返回一个空数组
从以下版本开始:
1.4
另请参见:
addActionListener(java.awt.event.ActionListener), removeActionListener(java.awt.event.ActionListener)

fireActionPerformed

protected void fireActionPerformed(String command)
通知对此事件类型感兴趣的所有侦听器。使用 command 参数以延迟方式创建事件实例。

另请参见:
EventListenerList

updateUI

public void updateUI()
将 UI 属性重置为当前的外观值。

覆盖:
JComponent 中的 updateUI
另请参见:
JComponent.updateUI()

getUIClassID

public String getUIClassID()
返回一个指示 L&F 类名的字符串,该类负责呈现此组件。

覆盖:
JComponent 中的 getUIClassID
返回:
字符串 "FileChooserUI"
另请参见:
JComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)

getUI

public FileChooserUI getUI()
获得实现此组件 L&F 的 UI 对象。

返回:
实现 FileChooserUI L&F 的 FileChooserUI 对象

paramString

protected String paramString()
返回此 JFileChooser 的字符串表示形式。此方法仅在进行调试时使用,对于各个实现,所返回字符串的内容和格式可能有所不同。返回的字符串可能为空,但不可能为 null

覆盖:
JComponent 中的 paramString
返回:
JFileChooser 的字符串表示形式

getAccessibleContext

public AccessibleContext getAccessibleContext()
获取与此 JFileChooser 关联的 AccessibleContext。对于文件选择器,AccessibleContext 采用 AccessibleJFileChooser 的形式。如有必要,可创建一个新的 AccessibleJFileChooser 实例。

指定者:
接口 Accessible 中的 getAccessibleContext
覆盖:
JComponent 中的 getAccessibleContext
返回:
一个 AccessibleJFileChooser,它充当此 JFileChooser 的 AccessibleContext

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策