We can use the FileSystemView class and get it's object by calling getFileSystemView() static method in it and then use the getSystemIcon() method which takes a File object and returns it's icon.
FileSystemView and FileView classes are present in javax.swing.filechooser package.
File class is in the java.io package.
Note: FileSystemView does not extend FileView. Hence you cannot use FileSystemView object in jf.setFileView()
JFileChooser jf=new JFileChooser();
jf.setFileView(new MyFileView());
jf.showOpenDialog(this);
class MyFileView extends FileView
{
public Icon getIcon(File f)
{
FileSystemView view=FileSystemView.getFileSystemView();
return view.getSystemIcon(f);
}
}
this represents the current frame. Assume that the class in which this code is written is sub class of JFrame
Or in a simple way,
jf.setFileView(new FileView(){
public Icon getIcon(File f)
{
return FileSystemView.getFileSystemView().getSystemIcon(f);
}
});