1、创建文件选择器 JFileChooser

2、设置选择模式 setFileSelectionMode(int mode)

JFileChooser.FILES_ONLY 只能选择文件(默认)

JFileChooser.DIRECTORIES_ONLY 只能选择文件夹

JFileChooser.FILES_AND_DIRECTORIES 可以选择文件和文件夹

3、文件的单选、多选 setMultiSelectionEnable(boolean b)

true 多选

false 单选(默认)

4、显示对话框 showOpenDialog(c),c是窗体顶级容器Container c

文件过滤】如图像、音频、文档等类型。抽象类FileFilter,具体类FileNameExtensionFilter

FileNameExtensionFilter(String 文件类型描述信息,String 文件类型...)

例如:FileFilter filter=new FileNameExtensionFilter("图像文件","JPG","PNG","GIF");//java只支持这三种图片格式

fileChooser.setFileFilter(filter);//文件选择器添加过滤器

import javax.swing.*;
import javax.swing.filechooser.FileFilter;
import javax.swing.filechooser.FileNameExtensionFilter;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File; public class Demo extends JFrame {
public Demo() {
setTitle("文件选择对话框");
setBounds(100, 100, 400, 100);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
Container c = getContentPane();
c.setLayout(new FlowLayout());//设置容器为流布局,防止后控件覆盖前控件 JLabel label=new JLabel("文件:");
c.add(label); JTextField textField=new JTextField();
textField.setColumns(20);//文本框宽度
c.add(textField); JButton button=new JButton("上传");
c.add(button);
/*单击“上传”,弹出文件选择器(文件选择窗口),单击“打开”,被选中的文件路径显示在文本框中*/
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JFileChooser fileChooser=new JFileChooser();//文件选择器
fileChooser.setMultiSelectionEnabled(true);//是否可以多选文件
//筛选结果为文件夹和图片文件
FileFilter fileFilter=new FileNameExtensionFilter("图片","jpg","png","gif");//过滤器
fileChooser.setFileFilter(fileFilter);//设置选择器的过滤器
int i=fileChooser.showOpenDialog(c);//在容器中显示文件选择器
if (i==JFileChooser.APPROVE_OPTION){//如果在选择器中单击“打开”
File file=fileChooser.getSelectedFile();//获取选择器中选中的文件
textField.setText(file.getAbsolutePath());//文本框中显示绝对路径
}
}
});
} public static void main(String[] args) {
Demo frame = new Demo();
frame.setVisible(true);
}
}

高级组件——文件选择器JFileChooser的更多相关文章

  1. Java文件选择对话框(文件选择器JFileChooser)的使用:以一个文件加密器为例

    文件加密器,操作过程肯定涉及到文件选择器的使用,所以这里以文件加密器为例.下例为我自己写的一个文件加密器,没什么特别的加密算法,只为演示文件选择器JFileChooser的使用. 加密器界面如图: 项 ...

  2. JavaSwing文件选择器 JFileChooser的使用

    先看效果吧! 说明:选择文件或者文件夹.本例子就直接在控制台输出文件或者文件夹的路径.实际开发中,就可以将文件或文件夹的路径封装为File的实例来使用了. package test; import j ...

  3. JAVA GUI学习 - JFileChooser文件选择器组件学习:未包括JFileChooser系统类学习

    public class JFileChooserKnow { /** * @param args */ public static void main(String[] args) { // TOD ...

  4. Ext.js高级组件

    第二章:Ext.js高级组件 grid组件 普通方式 表格面板类Ext.grid.Panel xtype(别名):gridpanel.grid title标题.renderTo渲染至.width宽.h ...

  5. Ext JS 6学习文档-第6章-高级组件

    Ext JS 6学习文档-第6章-高级组件 高级组件 本章涵盖了高级组件,比如 tree 和 data view.它将为读者呈现一个示例项目为 图片浏览器,它使用 tree 和 data view 组 ...

  6. java 图形化工具Swing 颜色文件选择器 ;JColorChooser;JFileChoose

    使用JColorChooser: JColorChooser用于创建颜色选择器对话框,该类的用法非常简单,该类主要提供了如下两个静态方法: (1),showDialog(Component compo ...

  7. android文件选择器、仿淘宝编辑页面、新手引导层等源码

    Android精选源码 单片机和安卓应用,传感器 文件选择器 android滑动选择的尺子view源码 android视频录制 视频压缩的源码 仿今日头条顶部导航指示器源码 Android框架+常用控 ...

  8. java:工具(汉语转拼音,压缩包,EXCEL,JFrame窗口和文件选择器,SFTP上传下载,FTP工具类,SSH)

    1.汉语转拼音: import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuP ...

  9. UI高级组件

    今天继续学习UI高级组件 网格视图 GridView 用GridView标签添加,显示网格视图,需要用到适配器,共有四种适配器 ArrayAdapter,SmipleAdapter,SmipleCou ...

随机推荐

  1. oracle NVL与Coalesce的区别

    先来说一下用法上的区别 : nvl(COMMISSION_PCT,0)如果第一个参数为null,则返回第二个参数如果第一个参数为非null,则返回第一个参数 COALESCE(EXPR1,EXPR2, ...

  2. Android SDK Mirror

    Android SDK Manager - Tools - Option - Proxy Settings - HTTP Proxy Server mirrors.zzu.edu.cn Force H ...

  3. captive portal

    刷好lineageos后默认浏览器无法上网,实际上并不是没有连上网,而是captive portal即网关设置错误,设置一下即可上网. adb shell "settings put glo ...

  4. Java 学习(1) ---JDK安装和配置环境变量

    一,Java 开发的第一步,就是安装JDK(Java Development ToolKit  Java开发工具包) JDK 是Java开发的核心,因为它包括Java 运行环境,工具包和命令.当我们安 ...

  5. hdu 5652(并查集)

    题意:很久之前,在中国和印度之间有通路,通路可以简化为一个n*m的字符串,0表示能通过,1表示障碍,每过一年就有一个坐标变成1,问你什么时候,通路彻底无法通过: 解题思路:无向图的连通性,一般直接搜索 ...

  6. 实验吧 WEB 头有点大

    看到了良心的提示,http header,之后看到了要求.NET framework 9.9 英国 IE,我想想.NET好像还没有更新到9.9,就无视了这重要的提示. 我就看了一眼题解,发现burps ...

  7. Github提交本地代码

     第一步:建立git仓库 cd到你的本地项目根目录下,执行git命令 git init 第二步:将项目的所有文件添加到仓库中 git add . 如果想添加某个特定的文件,只需把.换成特定的文件名即可 ...

  8. RFC2544测试指标

    RFC2544测试指标 参考:https://wenku.baidu.com/view/3abbb5bf960590c69ec3769d.html  RFC2544性能测试介绍 参考:https:// ...

  9. Educational Codeforces Round 51 (Rated for Div. 2) G. Distinctification(线段树合并 + 并查集)

    题意 给出一个长度为 \(n\) 序列 , 每个位置有 \(a_i , b_i\) 两个参数 , \(b_i\) 互不相同 ,你可以进行任意次如下的两种操作 : 若存在 \(j \not = i\) ...

  10. rt-thread之rt_kprintf函数输出串口设备更改

    @2019-01-30 [小记] 一般 rt-thread 发布的 bsp 库默认的 rt_kprintf 函数的输出设备是串口1,想要更改输出设备为串口1,以 stm32 为例步骤如下: 首先,打开 ...