public abstract class FileView extends Object
FileView
defines an abstract class that can be implemented to provide the filechooser with UI information for a File
. Each L&F JFileChooserUI
object implements this class to pass back the correct icons and type descriptions specific to that L&F. For example, the Microsoft Windows L&F returns the generic Windows icons for directories and generic files. Additionally, you may want to provide your own FileView
to JFileChooser
to return different icons or additional information using JFileChooser.setFileView(javax.swing.filechooser.FileView)
.
JFileChooser
first looks to see if there is a user defined FileView
, if there is, it gets type information from there first. If FileView
returns null
for any method, JFileChooser
then uses the L&F specific view to get the information. So, for example, if you provide a FileView
class that returns an Icon
for JPG files, and returns null
icons for all other files, the UI's FileView
will provide default icons for all other files.
For an example implementation of a simple file view, see yourJDK/demo/jfc/FileChooserDemo/ExampleFileView.java
. For more information and examples see How to Use File Choosers, a section in The Java Tutorial.
JFileChooser
public FileView()
public String getName(File f)
The name of the file. Normally this would be simply f.getName()
.
public String getDescription(File f)
A human readable description of the file. For example, a file named jag.jpg might have a description that read: "A JPEG image file of James Gosling's face".
public String getTypeDescription(File f)
A human readable description of the type of the file. For example, a jpg
file might have a type description of: "A JPEG Compressed Image File"
public Icon getIcon(File f)
The icon that represents this file in the JFileChooser
.
public Boolean isTraversable(File f)
Whether the directory is traversable or not. This might be useful, for example, if you want a directory to represent a compound document and don't want the user to descend into it.
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.