go to index

java swing如何选择文件夹

read time 2 min read
java swing 文件夹

概述

本文将介绍如何使用 Java Swing 实现文件夹选择功能。通过 JFileChooser 组件,可以轻松地让用户选择文件夹,并获取所选文件夹的路径。

示例代码

完整示例代码

java
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;

public class DemoJFileChooser extends JPanel implements ActionListener {
    private JButton go;
    private JFileChooser chooser;
    private String choosertitle;

    public DemoJFileChooser() {
        go = new JButton("选择文件夹");
        go.addActionListener(this);
        add(go);
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        chooser = new JFileChooser();
        chooser.setCurrentDirectory(new java.io.File("."));
        chooser.setDialogTitle(choosertitle);
        chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);

        // 禁用“所有文件”选项
        chooser.setAcceptAllFileFilterUsed(false);

        if (chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
            System.out.println("当前目录: " + chooser.getCurrentDirectory());
            System.out.println("选择的文件夹: " + chooser.getSelectedFile());
        } else {
            System.out.println("未选择文件夹");
        }
    }

    @Override
    public Dimension getPreferredSize() {
        return new Dimension(200, 200);
    }

    public static void main(String[] args) {
        JFrame frame = new JFrame("选择文件夹示例");
        DemoJFileChooser panel = new DemoJFileChooser();

        frame.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });

        frame.getContentPane().add(panel, "Center");
        frame.setSize(panel.getPreferredSize());
        frame.setVisible(true);
    }
}

代码说明

  1. 导入必要的包

    • 导入 javax.swing.*java.awt.event.* 包,用于创建图形用户界面和处理事件。
  2. 创建 DemoJFileChooser

    • 继承自 JPanel 并实现 ActionListener 接口,以便处理按钮点击事件。
  3. 初始化组件

    • 创建一个按钮 go,并为其添加点击事件监听器。
    • 在构造函数中初始化按钮并将其添加到面板中。
  4. 处理按钮点击事件

    • 创建 JFileChooser 实例,设置其初始目录、对话框标题和文件选择模式为仅选择文件夹。
    • 禁用“所有文件”选项。
    • 显示文件选择对话框,并根据用户选择输出相应的信息。
  5. 主方法

    • 创建并配置 JFrame,添加 DemoJFileChooser 面板,并设置窗口关闭操作。