`
zengxx1989
  • 浏览: 299648 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

swing 中通过 FileFilter 实现打开指定格式的文件

阅读更多
今天做到要打开指定格式的文件,在swing 中,这就不像在Winform 中一样了,只要设置一下,但也比较简单
实现过滤
package com.openfile.biz;

import java.io.File;

import javax.swing.filechooser.FileFilter;

/**
 * 
 * @author zengxx
 *
 */
public class TxtFileFilter extends FileFilter {

	/**
	 * 重写接收文件方法 
	 * @return true 表示显示出来
	 * false 表示不显示出来
	 */
	public boolean accept(File f) {
		if (f.isDirectory()) {
			return true;
		}
		//显示满足条件的文件
		return f.getName().endsWith(".txt") || f.getName().endsWith(".java");
	}

	/**
	 * 这就是显示在打开框中
	 */
	public String getDescription() {
		
		return "*.txt,*.java";
	}

}


测试类
package com.openfile.ui;

import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;

import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

import com.openfile.biz.TxtFileFilter;

public class AppFrame {

	private JFrame frame;

	/**
	 * Launch the application
	 * @param args
	 */
	public static void main(String args[]) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					AppFrame window = new AppFrame();
					window.frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the application
	 */
	public AppFrame() {
		createContents();
	}

	/**
	 * Initialize the contents of the frame
	 */
	private void createContents() {
		frame = new JFrame();
		frame.setTitle("打开指定格式的文件");
		frame.getContentPane().setLayout(null);
		frame.setBounds(100, 100, 510, 191);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		final JTextField txtFilePath = new JTextField();
		txtFilePath.setBounds(100, 60, 232, 22);
		frame.getContentPane().add(txtFilePath);

		final JLabel label = new JLabel();
		label.setText("文件");
		label.setBounds(29, 62, 66, 18);
		frame.getContentPane().add(label);

		final JButton btnBrower = new JButton();
		btnBrower.addActionListener(new ActionListener() {
			public void actionPerformed(final ActionEvent e) {
				JFileChooser chooser=new JFileChooser();
				chooser.setFileFilter(new TxtFileFilter());
				int resultVal=chooser.showOpenDialog(null);
				if (resultVal==JFileChooser.APPROVE_OPTION) {  //点击确定
					String filePath=chooser.getSelectedFile().getAbsolutePath();
					txtFilePath.setText(filePath);
				}
			}
		});
		btnBrower.setText("浏览");
		btnBrower.setBounds(363, 57, 106, 28);
		frame.getContentPane().add(btnBrower);
	}

}
分享到:
评论

相关推荐

    Swing 文件選擇器

    2. **设置当前目录**:通过调用`setCurrentDirectory()`方法,你可以指定文件选择器打开时显示的初始目录。如果不设置,默认会是用户的个人目录。 3. **文件过滤器**:`JFileChooser`支持文件过滤,可以通过`...

    简单文件搜索器的实现

    这个"简单文件搜索器的实现"项目旨在教你如何构建一个能够快速查找计算机中特定文件的工具。我们将通过分析给出的源码文件来理解其工作原理。 首先,`MenuItemLis.java`可能包含了程序的菜单项列表及其相关事件处理...

    Java文件选择器Java文件选择器Java文件选择器Java文件选择器

    此外,还解释了如何通过自定义`FileFilter`来限制文件选择器中显示的文件类型,以及如何响应用户的文件选择操作。这些技术在许多桌面应用程序中都非常有用,特别是那些需要频繁处理文件的应用程序。

    Java文件选择器源代码.7z

    Java文件选择器源代码是一个用于在Java应用程序中实现文件或目录选择功能的工具。它通常包含一系列类和方法,使得用户能够通过图形用户界面(GUI)浏览本地文件系统,选择单个文件、多个文件或者整个目录。在Java中...

    Java 文件过滤器

    文件过滤器的应用场景广泛,比如在 Swing 库中,`JFileChooser` 类用于打开或保存文件对话框时,就可以设置`FileFilter`来限制用户选择的文件类型。又如,在服务器端,可能需要定期扫描文件夹,只处理某些类型的日志...

    疯狂java实战演义-第3章图片浏览器[归纳].pdf

    这样,当用户打开文件选择对话框时,只有指定的图片格式(如.jpg, .png等)会出现在列表中。 主界面类`ViewerFrame`中,我们需要创建一个JLabel来显示图片,使用JScrollPane确保图片过大时可以滚动查看。同时,创建...

    java文件对话框

    总的来说,Java文件对话框通过`JFileChooser`或JavaFX的`FileChooser`提供了一种直观的方式来实现文件打开和保存功能,使得开发者无需关心底层的文件系统交互细节,从而专注于应用的核心逻辑。这使得Java应用程序...

    根据路径,批量导出文件

    标题“根据路径,批量导出文件”所指的是一款基于Java编程语言开发的软件工具,其主要功能是帮助用户批量地从指定的文件路径中复制并导出文件。这款工具通常具备图形用户界面(GUI),使得操作更加直观、便捷,适合...

    基于Java的实例源码-文件选择器源代码.zip

    学习和理解这些源码可以帮助你更好地掌握如何在Java应用中实现文件选择功能。为了深入了解和实践,你可以下载源码,运行并分析其工作原理,同时结合Java API文档和相关教程,以便更全面地了解`JFileChooser`的用法。

    用JAVA文件管理器 本科大作业水平

    【标题】"用JAVA文件管理器 本科大作业水平" 涉及的主要知识点是Java编程语言在实现文件管理器应用中的应用。这通常包括对文件和目录的操作,如创建、删除、移动、复制以及列出目录内容。下面将详细讨论这些知识点。...

    java文件选择器

    可以通过 `setCurrentDirectory` 方法来指定文件选择器打开时的初始目录: ```java fileChooser.setCurrentDirectory(new File("C:\\")); ``` ##### 3.2 过滤文件类型 为了提高用户体验,通常会对文件类型进行过滤...

    JFileChooser使用详解

    在Java编程环境中,`JFileChooser`是Swing库中的一个关键组件,用于实现文件选择对话框。它允许用户在本地文件系统中浏览并选择文件或目录,广泛应用于需要用户交互选取文件的应用场景。本文将深入探讨`JFileChooser...

    java写的简单的本地图片搜索

    这可以通过`FileFilter`接口实现,自定义过滤规则来决定哪些文件应该被包含在搜索结果中。 7. **用户界面**: 虽然题目未明确提及,但一个完整的本地图片搜索应用通常会有一个用户界面,让用户输入搜索条件或显示...

    java写字板

    通过这个项目,开发者可以深入理解Java GUI编程,学习如何整合组件、处理用户输入、读写文件以及实现特定的文本处理功能。同时,这也是一个很好的练习,用于提升Java编程技巧和面向对象设计能力。

    java文件管理

    `listFiles(FileFilter)`则可以按指定过滤器筛选子文件。 8. **文件复制和移动** - 文件的复制和移动可以通过`Files`类的静态方法实现,如`copy()`和`move()`。它们提供原子性操作,并能处理文件权限和其他高级...

    JAVA 导出EXCEL

    本篇文章将详细介绍如何在Java中实现从一个`List`列表数据结合指定表头信息导出为Excel文件的功能。涉及的关键技术包括Apache POI库的使用以及如何通过Swing组件进行文件选择等。 #### 二、核心代码解析 ##### 1. ...

    FileChooser:简单的file选择DEMO

    这样可以指定文件选择器打开的初始目录。 3. 文件选择模式: `JFileChooser`有三种选择模式:`FILES_ONLY`,`DIRECTORIES_ONLY`,`FILES_AND_DIRECTORIES`。你可以通过`setFileSelectionMode()`方法设置: ```...

    FileChooser:Java 项目的 FileChooser (COMP285)

    在Java Swing库中,`javax.swing.JFileChooser` 类提供了实现这一功能的接口。 `JFileChooser` 的主要功能包括: 1. **打开文件**:用户可以通过 `JFileChooser` 打开一个对话框,从中选择一个或多个文件进行读取...

    04747 Java语言程序设计(一) 2014年4月

    - **题目描述:** 某Java程序用javax.swing包中的类JFileChooser来实现打开和保存文件对话框。该程序通过文件对话框首先获得的信息是? - A. 文件长度 - B. 文件路径 - C. 文件内容 - D. 文件对象 - **解析:** ...

Global site tag (gtag.js) - Google Analytics