java jfilechooser 桌面_Java Swing组件JFileChooser用法实例分析

本文实例讲述了Java Swing组件JFileChooser用法。分享给大家供大家参考,具体如下:

JFileChooser文件选择器是Swing中经常用到的一个控件。它的使用主要包含以下几个参数:

1.当前路径。也就是它第一次打开时所在的路径,许多软件喜欢设置为桌面。

2.文件过滤器。通过设置文件过滤器,只有特定类型的文件是可见的,比如文本,音频,等。

3.选择模式。包含三种情况:仅文件, 仅目录, 文件或目录。

4.是否允许多选。

JFileChooser的参数当然不止以上4种,它还有很多高级选项,比如你可以对文件的显示图标进行定制等,由于不经常用,这里不再介绍。

有2个地方要注意:

1.文件过滤器建议使用FileNameExtensionFilter,它是FileFilter的子类,以非常方便的方法实现了过滤器。用法见代码。

2.getSelectedFiles()方法,它只在isMultiSelectionEnable()方法返回true是有效。也就是说,如果你不允许多选,则只能使用getSelectedFile()方法,否则只能得到一个空的文件列表。

下面通过一个demo来展示它的基本用法。

package awtDemo;

import java.io.File;

import javax.swing.JFileChooser;

import javax.swing.JOptionPane;

import javax.swing.filechooser.FileNameExtensionFilter;

import javax.swing.filechooser.FileSystemView;

/**

*

* @author pzy

*/

@SuppressWarnings("serial")

public class JFileChooserFrame extends javax.swing.JFrame {

/**

* Creates new form JFileChooserFrame

*/

public JFileChooserFrame() {

initComponents();

}

/**

* This method is called from within the constructor to initialize the form.

* WARNING: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/

@SuppressWarnings({ "unchecked", "rawtypes" })

//

private void initComponents() {

fileFilterisBG = new javax.swing.ButtonGroup();

isMultiSelectBG = new javax.swing.ButtonGroup();

jPanel1 = new javax.swing.JPanel();

text_rb = new javax.swing.JRadioButton();

video_rb = new javax.swing.JRadioButton();

audio_rb = new javax.swing.JRadioButton();

all_rb = new javax.swing.JRadioButton();

jPanel2 = new javax.swing.JPanel();

jComboBox1 = new javax.swing.JComboBox();

multiSelect_rb = new javax.swing.JRadioButton();

singleSelect_rb = new javax.swing.JRadioButton();

jPanel3 = new javax.swing.JPanel();

jButton1 = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setLocationByPlatform(true);

jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("文件类型"));

fileFilterisBG.add(text_rb);

text_rb.setText("文本");

fileFilterisBG.add(video_rb);

video_rb.setText("视频");

fileFilterisBG.add(audio_rb);

audio_rb.setText("音频");

fileFilterisBG.add(all_rb);

all_rb.setSelected(true);

all_rb.setText("所有");

javax.swing.GroupLayout jPa

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值