# WinFileSelectorJ **Repository Path**: swsk33/WinFileSelectorJ ## Basic Information - **Project Name**: WinFileSelectorJ - **Description**: 一个简易的文件选择器外部包,作为GUI开发选择文件组件。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2020-03-23 - **Last Updated**: 2025-03-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # WinFileSelectorJ ### 这是一个简单的包,用于java开发者简易的创建一个文件选择对话框。 *曾经开发的软件中用的是java自带的文件选择器包,没多久就有人说这个程序的文件选择功能不好用。于是我便开发了这样一个简易的文件选择器包,简化了代码操作,并加了一些小功能等等。* ### 功能和特点: 1,创建一个文件选择窗口,支持单选、多选,只显示指定的文件类型(过滤)。
2,创建一个文件保存路径选择的对话框,支持单选,过滤。
3,带有图片预览功能。
4,自己重写了扁平化的界面。
5,支持可以选择文件或者文件夹、只能选择文件、只能选择文件夹和只能选择驱动器四种选择模式。
### 下载地址:[点击进入下载jar包](https://gitee.com/swsk33/WinFileSelectorJ/releases) #### 一、界面说明 通过相应的代码即可唤出文件选择器,语法(用法)将会在下面说明。界面如下:
![主界面](https://file.moetu.org/images/2020/04/22/167dfe41f67dbe32f.jpg)
![快速索引](https://file.moetu.org/images/2020/04/22/2e0c0a878f4b3929c.jpg)
![图片预览](https://file.moetu.org/images/2020/04/22/342e94d0172982875.jpg)
选择文件很简单,选择文件点击确定或者直接双击该文件即可。可以多选时,按住ctrl即可多选。
每次选择完成文件之后会记录上一次的位置,配置文件生成于用户文件夹的AppData\Local\WinFileSelectorJ目录下(```C:\Users\%username%\AppData\Local\WinFileSelectorJ```)。 #### 二、开发用法 ### 1,添加依赖,有下列两种情况: ①Eclipse直接添加jar:先下载这个jar包并把这个包导入到IDE里面,例如eclipse。不知道如何导入请查看教程:[eclipse导入外部jar包](https://blog.csdn.net/czbqoo01/article/details/72803450)
②Maven工程:在项目的配置文件pom.xml中的``````标签里加入下列依赖,此操作无需在上面手动下载jar包(推荐):
``` com.gitee.swsk33 win-file-selector 2.0.0 ``` ### 2,导入com.gitee.swsk33.winfileselector下所有类或者需要的类。(import com.gitee.swsk33.winfileselector.*;) ### 3,语法: **文件选择器的方法返回值基本上就是String或者Object[],单选窗口的返回值就是所选的文件路径,多选窗口的返回值是多个被选中的文件路径被存放在一个Object数组。如果是点击了“取消”按钮或者是关闭按钮,也会有返回值,其中单选时会返回一个空字符串(""),多选时会返回一个长度为1的Object数组,里面只有一个为"null"的值({"null"})。**
1,创建一个不带过滤的文件选择器单选窗口(返回值String):
```FileSelectDialog.createSingleSelectionDialog("窗口的标题",文件选择模式);```
**文件选择模式有四个内容如下:**
```FileSelectDialog.ALL_FILES_ALLOW```:既可以选择文件也可以选择文件夹。
```FileSelectDialog.FILE_ONLY```:只能选择文件。
```FileSelectDialog.DIR_ONLY```:只能选择文件夹。
```FileSelectDialog.DRIVE_ONLY```:只能选择驱动器。
**例如:创建一个标题为“选择文件”、只能选择文件的文件选择器对话框并输出其选择的文件路径**
``` String s=new FileSelectDialog().createSingleSelectionDialog("选择文件", FileSelectDialog.FILE_ONLY); System.out.println(s); ``` 2,创建一个带过滤的文件选择器单选窗口(返回值String):
```FileSelectDialog.createSingleSelectionDialog("窗口的标题",文件选择模式,要显示的文件扩展名的字符串数组);```
这个是带过滤显示的文件选择器窗口,他只会显示你制定类型的文件。
先自己定一个String数组,里面放入你要指定显示的文件类型扩展名,再把该String数组对象放入第三个参数。
**例如:创建一个标题为“选择文件”、只能选择文件的文件选择器对话框,且只显示png和jpg文件,并输出其选择的文件路径**
``` String[] type = {"png", "jpg"}; //指定显示文件的字符串数组 String s = new FileSelectDialog().createSingleSelectionDialog("选择文件", FileSelectDialog.FILE_ONLY,type); System.out.println(s); ``` 3,创建一个不带过滤的文件选择器多选窗口(返回值Object[]):
```FileSelectDialog.createMultipleSelectionDialog("窗口标题",文件选择模式);```
**例如:创建一个标题为“选择文件”、只能选择文件的多选文件选择器对话框,并逐个输出其选择的文件路径**
``` Object[] o = new FileSelectDialog().createMultipleSelectionDialog("选择文件", FileSelectDialog.FILE_ONLY); for (Object name : o) { System.out.println(name.toString()); } ``` 4,创建一个带过滤的文件选择器多选窗口(返回值Object[]):
```FileSelectDialog.createMultipleSelectionDialog("窗口标题",文件选择模式,要显示的文件扩展名的字符串数组);```
**例如:创建一个标题为“选择文件”、只能选择文件的多选文件选择器对话框,且只显示png和jpg文件,并逐个输出其选择的文件路径**
``` String[] type = {"png", "jpg"}; //指定显示文件的字符串数组 Object[] o = new FileSelectDialog().createMultipleSelectionDialog("选择文件", FileSelectDialog.FILE_ONLY, type); for (Object name : o) { System.out.println(name.toString()); } ``` 5,创建一个不带过滤的文件保存路径选择对话框(返回值String):
```FileSaveDialog.createSaveDialog("对话框标题",文件选择模式);```
*和上述的选择对话框不同,文件保存路径选择的对话框只能单选,并且可以在文件类型下拉菜单选择相应的文件类型,选择相应的文件类型时只会显示文件夹和选中的相应类型的文件,当前目录下存在输入的文件名时会提示是否覆盖。方法返回值即为文件保存的完整路径。*
**文件选择模式有两个内容如下:**
```FileSaveDialog.FILE_ONLY```:指定保存的文件夹及其文件名。
```FileSaveDialog.DIR_ONLY```:只指定保存的文件夹。
6,创建一个带过滤的文件保存路径选择对话框(返回值String):
```FileSaveDialog.createSaveDialog("对话框标题",文件选择模式,指定显示的文件类型数组);```
参数以及使用和上面文件选择窗口类似。
**详细的使用可以在调用类的方法时查看,IDE中会显示其中的详细文档**
>最后更新:2021.5.8