JFileChooser

简介:    http://www.cnblogs.com/dyllove98/archive/2012/03/05/2461895.html     package swing.choose; import java.

 

 

 http://www.cnblogs.com/dyllove98/archive/2012/03/05/2461895.html

 

 

package swing.choose;

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;

import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.filechooser.FileFilter;
import javax.swing.filechooser.FileNameExtensionFilter;

public class JFileChooseDemo extends JFrame {
    private static final long serialVersionUID = 1L;

    private JFileChooser fileChooser = new JFileChooser();;

    public JFileChooseDemo() {

        JButton button = new JButton("Click");
        button.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                int result = fileChooser.showOpenDialog(JFileChooseDemo.this);
                if (result == JFileChooser.CANCEL_OPTION) {
                    return;
                }

                File chooseFile = fileChooser.getSelectedFile();
                add(new JLabel("<html><font color=blue>" + chooseFile.getAbsolutePath()));
                validate();
            }
        });
        this.add(button);
        this.setLayout(new FlowLayout());
        this.setSize(400, 200);

        this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        this.setLocationRelativeTo(null);
        this.setVisible(true);
    }

    public static void main(String[] args) {
        JFileChooseDemo demo = new JFileChooseDemo();
        demo.fileChooser.setSelectedFile(new File("test.xls"));

        // 设置文件过滤器
//        demo.fileChooser.setFileFilter(new FileNameExtensionFilter("Description", "gif", "jpg", "bmp"));
        demo.fileChooser.setFileFilter(new FileFilter() {

            @Override
            public String getDescription() {
                return "MS-Excel 2003 文件(.xls)|快捷方式(.lnk)";
            }

            @Override
            public boolean accept(File f) {
                if (f.isDirectory()) {
                    return true;
                }
                return f.getName().toLowerCase().endsWith("") || f.getName().toLowerCase().endsWith(".lnk");
            }
        });

    }
}

 

相关文章
|
6月前
|
弹性计算 安全 Linux
esc使用体验心得
在我看来云服务器有以下优点:省力,不需要专门花时间去维护服务器的硬件,看服务器是否运行正常;稳定,这应该是最主要的有点;安全,做web开发最怕的当然是攻击,所以选择大厂的服务器,自然是最香的;省钱,这当然也是很重要的,尤其对于我们学生用户还是很友好的,爆赞!
|
6月前
|
搜索推荐 物联网 Android开发
移动应用与系统:未来技术的驱动力
【4月更文挑战第26天】 在数字化时代的浪潮中,移动应用和操作系统作为智能设备功能的核心载体,其发展速度和影响力正以前所未有的姿态改变着我们的工作和生活方式。本文将深入探讨移动应用开发的最新趋势、移动操作系统的关键创新以及它们如何共同塑造未来的技术生态。通过分析当前市场上主流的移动应用类型,操作系统特性,以及开发者面临的挑战和机遇,我们旨在为读者提供一个全面的视角,以理解这一不断进化的技术领域。
|
6月前
|
安全 Java 应用服务中间件
阿里技术官架构使用总结:Spring+MyBatis源码+Tomcat架构解析等
分享Java技术文以及学习经验也有一段时间了,实际上作为程序员,我们都清楚学习的重要性,毕竟时代在发展,互联网之下,稍有一些落后可能就会被淘汰掉,因此我们需要不断去审视自己,通过学习来让自己得到相应的提升。
|
3月前
|
SQL 关系型数据库 MySQL
如何在 SQL Server 中使用 `REPLACE` 函数
【8月更文挑战第8天】
659 9
|
6月前
|
Java Spring Maven
gradle 配置指南
在`build.gradle`中配置Gradle仓库,首先添加阿里云公共仓库
echarts如何设置滚动条(dataZoom),实现横向或纵向滚动
echarts如何设置滚动条(dataZoom),实现横向或纵向滚动
echarts如何设置滚动条(dataZoom),实现横向或纵向滚动
|
6月前
|
资源调度 JavaScript Linux
VueCLI:Vue项目脚手架与构建工具技术详解
【4月更文挑战第24天】VueCLI是Vue.js官方的项目脚手架,简化创建与配置,提供丰富的插件系统,支持全生命周期功能,如代码编译、打包部署。它具有易于配置、跨平台支持等优势。通过安装、创建项目、运行及构建命令,开发者能快速搭建Vue应用。VueCLI允许自定义配置(vue.config.js)和安装各类插件,如vue-router、vuex,以适应不同项目需求,提高开发效率。
|
6月前
|
前端开发 JavaScript API
使用SVG构建你自己的图标库
使用SVG构建你自己的图标库
|
6月前
|
Oracle 关系型数据库
Oracle查询优化-遍历字符串
【2月更文挑战第3天】【2月更文挑战第6篇】Oracle查询优化-遍历字符串
60 0
|
6月前
|
Python
modelscope通义千问的14b量化版出错 说没有版本 这个代码都是从页面上粘贴下来的 Int8 Int4都试过了一样的错误?
modelscope通义千问的14b量化版出错 说没有版本 这个代码都是从页面上粘贴下来的 Int8 Int4都试过了一样的错误?modelscope.hub.errors.NoValidRevisionError: The model: qwen/Qwen-14B-Chat-Int4 has no valid revision!
542 1