高级组件——文件选择器JFileChooser
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的更多相关文章
- Java文件选择对话框(文件选择器JFileChooser)的使用:以一个文件加密器为例
文件加密器,操作过程肯定涉及到文件选择器的使用,所以这里以文件加密器为例.下例为我自己写的一个文件加密器,没什么特别的加密算法,只为演示文件选择器JFileChooser的使用. 加密器界面如图: 项 ...
- JavaSwing文件选择器 JFileChooser的使用
先看效果吧! 说明:选择文件或者文件夹.本例子就直接在控制台输出文件或者文件夹的路径.实际开发中,就可以将文件或文件夹的路径封装为File的实例来使用了. package test; import j ...
- JAVA GUI学习 - JFileChooser文件选择器组件学习:未包括JFileChooser系统类学习
public class JFileChooserKnow { /** * @param args */ public static void main(String[] args) { // TOD ...
- Ext.js高级组件
第二章:Ext.js高级组件 grid组件 普通方式 表格面板类Ext.grid.Panel xtype(别名):gridpanel.grid title标题.renderTo渲染至.width宽.h ...
- Ext JS 6学习文档-第6章-高级组件
Ext JS 6学习文档-第6章-高级组件 高级组件 本章涵盖了高级组件,比如 tree 和 data view.它将为读者呈现一个示例项目为 图片浏览器,它使用 tree 和 data view 组 ...
- java 图形化工具Swing 颜色文件选择器 ;JColorChooser;JFileChoose
使用JColorChooser: JColorChooser用于创建颜色选择器对话框,该类的用法非常简单,该类主要提供了如下两个静态方法: (1),showDialog(Component compo ...
- android文件选择器、仿淘宝编辑页面、新手引导层等源码
Android精选源码 单片机和安卓应用,传感器 文件选择器 android滑动选择的尺子view源码 android视频录制 视频压缩的源码 仿今日头条顶部导航指示器源码 Android框架+常用控 ...
- java:工具(汉语转拼音,压缩包,EXCEL,JFrame窗口和文件选择器,SFTP上传下载,FTP工具类,SSH)
1.汉语转拼音: import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuP ...
- UI高级组件
今天继续学习UI高级组件 网格视图 GridView 用GridView标签添加,显示网格视图,需要用到适配器,共有四种适配器 ArrayAdapter,SmipleAdapter,SmipleCou ...
随机推荐
- Delphi处理数据网格DBGrid的编辑框 获取还没有提交到数据集的字段文本
//fromhttp://kingron.myetang.com/zsfunc12.htm (*//标题:处理数据网格的编辑框说明:示例添加焦点颜色;获取还没有提交到数据集的字段文本设计:Zswang ...
- vue事件綁定
事件綁定可以是一個句子,一個函數名稱,也可以是一個函數. 事件修飾符,按鍵修飾符.
- Hack You CTF 2014: NotEasyTask
exe文件,运行后闪退,peid查一下,发现是是c#写的 Reflector打开 找到Main: private static void Main(string[] args) { string ho ...
- hdu—3861(tarjan+二分图)
题意:给你n个城市,每个城市之间有一条有向边,将城市划分为几个区域,问你最小的划分方法, 划分规则为:能相互到达的放在一个区域:然后区域内的a,b两点肯定存在某种方式,使得a能到b或者b能到a(注意, ...
- TP5.x——打印SQL语句
操作 使用fetchSql,然后sql就会只输出sql语句而不执行 var_dump(Db::name('user')->where(array('id'=>$this->_uid, ...
- 查询SQLSERVER中系统表结构
Declare @TableName Varchar(20); SET @TableName='B_SupplierDA'; --SELECT TE.字段名+',' --FROM ( SELECT ( ...
- 一:Newtonsoft.Json 支持序列化与反序列化的.net 对象类型;
导航目录: Newtonsoft.Json 概述 一:Newtonsoft.Json 支持序列化与反序列化的.net 对象类型: 二:C#对象.集合.DataTable与Json内容互转示例: ...
- 数字平滑 前端插件JS&CSS库
CDN DEMO 拷贝可用: <!DOCTYPE html> <link rel="stylesheet" href="https://cdn.boot ...
- jsp配置
jsp.server.xml <Host name="localhost" appBase="webapps" unpackWARs="true ...
- 【刷题】BZOJ 1413 [ZJOI2009]取石子游戏
Description 在研究过Nim游戏及各种变种之后,Orez又发现了一种全新的取石子游戏,这个游戏是这样的: 有n堆石子,将这n堆石子摆成一排.游戏由两个人进行,两人轮流操作,每次操作者都可以从 ...