java jframe教程_java swing入门教程

Java为文件选择框提供了JFileChooser类API。通过使用该类,可以很方便的现实文件选择对话框。见下例:

//建立文件选择框对象

JFileChooser fc=new JFileChooser();

//设定文件选择框标题

fc.setDialogTitle("Open class File");

//显示文件选择框,在选择后将结果储存到returnVal变量中

int returnVal = fc.showOpenDialog(app.getFrameInstance());

//如果用户选择了文件,并点击了"Opne/打开"按钮,显示用户选择的文件全名路径,

//如果用户点击"Close/关闭"按钮,以及其它方式退出文件选择框,则什么也不做。

if (returnVal == JFileChooser.APPROVE_OPTION){

File file = fc.getSelectedFile();

System.out.println(file.getPath());

}

注意在文件选择对话框中,可以进行选择目录的操作,只需要用FileChooser对象的setFileSelectionMode()方法指定其选择模 式为目录选择。见下面代码

//上例中可以在文件对话框显示语句前加上下面代码,使对话框成为目录选择对话框

fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);

在文件选择过程中,我们可以为文件选择对话框设置过滤器,有了过滤器的对话框,会用下拉列表的方式将过滤的文件名特征显示在"文件类型"组合框中,并将不 符合条件的文件名和目录名过滤掉(不显示)。

为一个文件选择对话框设置过滤器需要定义过滤器类,见下例:

public class ClassFileFilter extends FileFilter{

public boolean accept(File f) {

String filename = f.getName();

return filename.endsWith(".class");

}

public String getDescription() {

return "*.class";

}

}

该类定义了一个过滤Java类文件"*.class"的过滤器。

将它增加到文件选择对话框中,可以过滤出以.class为尾缀的文件。见下面代码:

fc.addChoosableFileFilter(new ClassFileFilter());

针对一个对话框,我们可以为其加装多个过滤器。这里有对过滤器更加诠释的代码:

public class ImageFilter extends FileFilter {

//Accept all directories and all gif, jpg, tiff, or png files.

public boolean accept(File f) {

if (f.isDirectory()) {

return true;

}

String extension = Utils.getExtension(f);

if (extension != null) {

if (extension.equals(Utils.tiff) ||

extension.equals(Utils.tif) ||

extension.equals(Utils.gif) ||

extension.equals(Utils.jpeg) ||

extension.equals(Utils.jpg) ||

extension.equals(Utils.png)) {

return true;

} else {

return false;

}

}

return false;

}

public String getDescription() {

return "Just Images";

}

}

该过滤器为图像文件过滤器。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值