首页 > 解决方案 > Swing JFileChooser 只接受 ZIP 和目录

问题描述

如何setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES)在过滤掉任何不是目录或 zip 文件的内容时启用构造的 JFileChooser?FileChooser 应该只能选择和查看 zip 文件和目录。

标签: javaswingfilejfilechooser

解决方案


创建一个FileNameExtensionFilter接受 ZIP 文件的实例并将其设置FileFilterJFileChooser

var zipFilter = new FileNameExtensionFilter("ZIP files", "zip");
var chooser = new JFileChooser();
chooser.setFileFilter(zipFilter);
chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);

var对于旧版本的 Java,使用相应的类名而不是,

FileNameExtensionFilter仅显示具有给定扩展名或任何目录的文件 - 来自文档

返回的 FileNameExtensionFilter 将接受所有目录和任何文件扩展名包含在扩展名中的文件。


推荐阅读