JFileChooser控件改变文件视图

可以为JFileChooser控件改变文件视图,利用setFileView(FileView fileView)方法进行设置。可以自定义文件视图,可以设置给定文件的图标和字符串。需要重写的方法有:
public Icon getIcon(File f)返回图标
public String getName(File f)返回字符串
public Boolean isTraversable(File f)表示一个文件是否可以打开
一个实例,对java源代码文件的图标进行改变,其它不改变。代码如下:

import java.awt.Image;
import java.awt.Toolkit;
import java.io.File;

import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.filechooser.FileView;

public class CustomFileView extends FileView
{
    Image im = Toolkit.getDefaultToolkit().getImage("img/clouds.jpg");
    ImageIcon image = new ImageIcon(im.getScaledInstance(20, 20, Image.SCALE_SMOOTH));
    @Override
    public String getName(File f)
    {
        // TODO Auto-generated method stub
        String name = f.getName();
        return name.equals("") ? f.getPath() : name;
    }

    @Override
    public Icon getIcon(File f)
    {
        // TODO Auto-generated method stub
        if(f.getName().endsWith(".java"))
            return image;
        else
            return super.getIcon(f);
    }

    @Override
    public Boolean isTraversable(File f)
    {
        // TODO Auto-generated method stub
         return f.isDirectory() ? Boolean.TRUE : Boolean.FALSE;
      }
}

创建一个JFileChooser控件,设置其文件视图为自定义的文件视图,
JFileChooser chooser = new JFileChooser();
chooser.setFileView(new CustomFileView());
运行显示如下:


1.png

由于水平有限,如果有错误,请大家多多指导,提高水平,共同学习。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容