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 - 指示确认(是,确定)按钮助记符的更改。

  • static String APPROVE_BUTTON_TEXT_CHANGED_PROPERTY - 指示确认(是,确定)按钮文本的更改。

  • static String APPROVE_BUTTON_TOOL_TIP_TEXT_CHANGED_PROPERTY - 指示确认(是,确定)按钮工具提示文本的更改。

  • static int APPROVE_OPTION - 如果选择确认(是,确定),则返回此值。

  • static String APPROVE_SELECTION - 指令,用于确认当前选择(与按下“是”或“确定”相同)。

  • 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 - 指示显示隐藏文件属性的更改。

  • 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 支持“打开”文件操作。

  • static int SAVE_DIALOG - 类型值,指示 JFileChooser 支持“保存”文件操作。

  • 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()

当用户点击确认按钮(默认情况下标记为“打开”或“保存”)时,由 UI 调用。

5

void cancelSelection()

当用户选择“取消”按钮时,由 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)

弹出“打开文件”文件选择器对话框。

68

int showSaveDialog(Component parent)

弹出“保存文件”文件选择器对话框。

69

void updateUI()

将 UI 属性重置为当前外观和风格的值。

继承的方法

此类继承自以下类的方法:

  • javax.swing.JComponent
  • java.awt.Container
  • java.awt.Component
  • java.lang.Object

JFileChooser 示例

使用您选择的任何编辑器创建以下 Java 程序,例如在D:/ > SWING > com > tutorialspoint > gui >中。

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

验证以下输出。

Swing JFileChooser
swing_controls.htm
广告