SWING - JFileChooser 类
简介
JFileChooser 类是一个组件,它为用户选择文件提供了一种简单的机制。
类声明
以下是 javax.swing.JFileChooser 类的声明 −
public class JFileChooser extends JComponent implements Accessible
字段
以下是 javax.swing.JFileChooser 类的字段 −
static String ACCEPT_ALL_FILE_FILTER_USED_CHANGED_PROPERTY − 标识是否使用 AcceptAllFileFilter。
protected AccessibleContext accessibleContext
static String ACCESSORY_CHANGED_PROPERTY − 表示正在使用不同的附件组件(例如,预览文件)。
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 − 如果选择取消,则返回值。
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 − 标识 display-hidden-files 属性的更改。
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 − 标识用户的多文件选择中的更改。
类构造函数
序号 | 构造函数 & 描述 |
---|---|
1 |
JFileChooser() 构造一个指向用户默认目录的 JFileChooser。 |
2 |
JFileChooser(File currentDirectory) 使用给定的 File 作为路径构造一个 JFileChooser。 |
3 |
JFileChooser(File currentDirectory, FileSystemView fsv) 使用给定的当前目录和 FileSystemView 构造一个 JFileChooser。 |
4 |
JFileChooser(FileSystemView fsv) 使用给定的 FileSystemView 构造一个 JFileChooser。 |
5 |
JFileChooser(String currentDirectoryPath) 使用给定的路径构造一个 JFileChooser。 |
6 |
JFileChooser(String currentDirectoryPath, FileSystemView fsv) 使用给定的当前目录路径和 FileSystemView 构造一个 JFileChooser。 |
类方法
序号 | 方法 & 描述 |
---|---|
1 |
boolean accept(File f) 如果应该显示文件,则返回 true。 |
2 |
void addActionListener(ActionListener l) 将 ActionListener 添加到文件选择器。 |
3 |
void addChoosableFileFilter(FileFilter filter) 将过滤器添加到用户可选择的文件过滤器列表中。 |
4 |
void approveSelection() 当用户点击"批准"按钮(默认标记为"Open"打开或"Save"保存)时由 UI 调用。 |
5 |
void cancelSelection() 当用户选择"Cancel"取消按钮时由 UI 调用。 |
6 |
void changeToParentDirectory() 将要设置的目录更改为当前目录的父目录。 |
7 |
protected JDialog createDialog(Component parent) 创建并返回一个新的 JDialog 包装,以父框架中的父为中心。 |
8 |
void ensureFileIsVisible(File f) 确保指定的文件是可见的,而不是隐藏的。 |
9 |
protected void fireActionPerformed(String command) 通知所有已注册对此事件类型的通知感兴趣的侦听器。 |
10 |
FileFilter getAcceptAllFileFilter() 返回 AcceptAll 文件过滤器。 |
11 |
AccessibleContext getAccessibleContext() 获取与此 JFileChooser 关联的 AccessibleContext。 |
12 |
JComponent getAccessory() 返回附件组件。 |
13 |
ActionListener[]getActionListeners() 返回在此文件选择器上注册的所有操作侦听器的数组。 |
14 |
int getApproveButtonMnemonic() 返回批准按钮的助记符。 |
15 |
String getApproveButtonText() 返回 FileChooserUI 中 ApproveButton 中使用的文本。 |
16 |
String getApproveButtonToolTipText() 返回 ApproveButton 中使用的工具提示文本。 |
17 |
FileFilter[] getChoosableFileFilters() 获取用户可选择的文件过滤器列表。 |
18 |
boolean getControlButtonsAreShown() 返回 controlButtonsAreShown 属性的值。 |
19 |
File getCurrentDirectory() 返回当前目录。 |
20 |
String getDescription(File f) 返回文件描述。 |
21 |
String getDialogTitle() 获取进入 JFileChooser 标题栏中的字符串。 |
22 |
int getDialogType() 返回此对话框的类型。 |
23 |
boolean getDragEnabled() 获取 dragEnabled 属性的值。 |
24 |
FileFilter getFileFilter() 返回当前选择的文件过滤器。 |
25 |
int getFileSelectionMode() 返回当前文件选择模式。 |
26 |
FileSystemView getFileSystemView() 返回文件系统视图。 |
27 |
FileView getFileView() 返回当前文件视图。 |
28 |
Icon getIcon(File f) 根据系统返回此文件或文件类型的图标。 |
29 |
String getName(File f) 返回文件名。 |
30 |
File getSelectedFile() 返回选定的文件。 |
31 |
File[] getSelectedFiles() 如果文件选择器设置为允许多选,则返回选定文件的列表。 |
32 |
String getTypeDescription(File f) 返回文件类型。 |
33 |
FileChooserUI getUI() 获取实现此组件的 L&F 的 UI 对象。 |
34 |
String getUIClassID() 返回一个字符串,该字符串指定呈现此组件的 L&F 类的名称。 |
35 |
boolean isAcceptAllFileFilterUsed() 返回是否使用 AcceptAll FileFilter。 |
36 |
boolean isDirectorySelectionEnabled() 根据当前文件选择模式确定目录是否可选的便捷调用。 |
37 |
boolean isFileHidingEnabled() 如果隐藏文件未显示在文件选择器中,则返回 true; 否则,返回 false。 |
38 |
boolean isFileSelectionEnabled() 根据当前文件选择模式确定文件是否可选择的便捷调用。 |
39 |
boolean isMultiSelectionEnabled() 如果可以选择多个文件,则返回 true。 |
40 |
boolean isTraversable(File f) 如果可以访问文件(目录),则返回 true。 |
41 |
protected String paramString() 返回此 JFileChooser 的字符串表示形式。 |
42 |
void removeActionListener(ActionListener l) 从文件选择器中移除一个 ActionListener。 |
43 |
boolean removeChoosableFileFilter(FileFilter f) 从用户可选择的文件过滤器列表中删除过滤器。 |
44 |
void rescanCurrentDirectory() 告诉 UI 从当前目录重新扫描其文件列表。 |
45 |
void resetChoosableFileFilters() 将可选择的文件过滤器列表重置为其起始状态。 |
46 |
void setAcceptAllFileFilterUsed(boolean b) 确定 AcceptAll FileFilter 是否用作可选过滤器列表中的可用选项。 |
47 |
void setAccessory(JComponent newAccessory) 设置附件组件。 |
48 |
void setApproveButtonMnemonic(char mnemonic) 使用字符设置批准按钮的助记符。 |
49 |
void setApproveButtonMnemonic(int mnemonic) 使用数字键码设置批准按钮的助记符。 |
50 |
void setApproveButtonText(String approveButtonText) 设置 FileChooserUI 中 ApproveButton 中使用的文本。 |
51 |
void setApproveButtonToolTipText(String toolTipText) 设置 ApproveButton 中使用的工具提示文本。 |
52 |
void setControlButtonsAreShown(boolean b) 设置指示批准和取消按钮是否显示在文件选择器中的属性。 |
53 |
void setCurrentDirectory(File dir) 设置当前目录。 |
54 |
void setDialogTitle(String dialogTitle) 设置出现在 JFileChooser 窗口标题栏中的字符串。 |
55 |
void setDialogType(int dialogType) 设置此对话框的类型。 |
56 |
void setDragEnabled(boolean b) 设置 dragEnabled 属性,该属性必须为 true 才能在此组件上启用自动拖动处理(拖放的第一部分)。 |
57 |
void setFileFilter(FileFilter filter) 设置当前文件过滤器。 |
58 |
void setFileHidingEnabled(boolean b) 设置文件隐藏打开或关闭。 |
59 |
void setFileSelectionMode(int mode) 设置 JFileChooser 以允许用户仅选择文件、仅选择目录或同时选择文件和目录。 |
60 |
void setFileSystemView(FileSystemView fsv) 设置 JFileChooser 用于访问和创建文件系统资源的文件系统视图,例如查找软盘驱动器和获取根驱动器列表。 |
61 |
void setFileView(FileView fileView) 设置用于检索 UI 信息的文件视图,例如表示文件的图标或文件的类型描述。 |
62 |
void setMultiSelectionEnabled(boolean b) 设置文件选择器以允许选择多个文件。 |
63 |
void setSelectedFile(File file) 设置选定的文件。 |
64 |
void setSelectedFiles(File[] selectedFiles) 如果文件选择器设置为允许多选,则设置选定文件的列表。 |
65 |
protected void setup(FileSystemView view) 执行常见的构造函数初始化和设置。 |
66 |
int showDialog(Component parent, String approveButtonText) 弹出带有自定义批准按钮的自定义文件选择器对话框。 |
67 |
int showOpenDialog(Component parent) 弹出"Open File"打开文件选择器对话框。 |
68 |
int showSaveDialog(Component parent) 弹出"Save File"保存文件选择器对话框。 |
69 |
void updateUI() 将 UI 属性重置为当前外观的值。 |
继承的方法
这个类继承了以下类的方法 −
- javax.swing.JComponent
- java.awt.Container
- java.awt.Component
- java.lang.Object
JFileChooser 示例
在 D:/ > SWING > com > tutorialspoint > gui > 中使用您选择的任何编辑器创建以下 Java 程序
SwingControlDemo.java
package com.tutorialspoint.gui; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class SwingControlDemo { private JFrame mainFrame; private JLabel headerLabel; private JLabel statusLabel; private JPanel controlPanel; public SwingControlDemo(){ prepareGUI(); } public static void main(String[] args){ SwingControlDemo swingControlDemo = new SwingControlDemo(); swingControlDemo.showFileChooserDemo(); } private void prepareGUI(){ mainFrame = new JFrame("Java Swing Examples"); mainFrame.setSize(400,400); mainFrame.setLayout(new GridLayout(3, 1)); mainFrame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent windowEvent){ System.exit(0); } }); headerLabel = new JLabel("", JLabel.CENTER); statusLabel = new JLabel("",JLabel.CENTER); statusLabel.setSize(350,100); controlPanel = new JPanel(); controlPanel.setLayout(new FlowLayout()); mainFrame.add(headerLabel); mainFrame.add(controlPanel); mainFrame.add(statusLabel); mainFrame.setVisible(true); } private void showFileChooserDemo(){ headerLabel.setText("Control in action: JFileChooser"); final JFileChooser fileDialog = new JFileChooser(); JButton showFileDialogButton = new JButton("Open File"); showFileDialogButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { int returnVal = fileDialog.showOpenDialog(mainFrame); if (returnVal == JFileChooser.APPROVE_OPTION) { java.io.File file = fileDialog.getSelectedFile(); statusLabel.setText("File Selected :" + file.getName()); } else { statusLabel.setText("Open command cancelled by user." ); } } }); controlPanel.add(showFileDialogButton); mainFrame.setVisible(true); } }
使用命令提示符编译程序。 转到 D:/ > SWING 并键入以下命令。
D:\SWING>javac com\tutorialspoint\gui\SwingControlDemo.java
如果没有报错,说明编译成功。 使用以下命令运行程序。
D:\SWING>java com.tutorialspoint.gui.SwingControlDemo
验证以下输出。