Home » openjdk-7 » javax » swing » filechooser » [javadoc | source]

    1   /*
    2    * Copyright (c) 1998, 2004, Oracle and/or its affiliates. All rights reserved.
    3    * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    4    *
    5    * This code is free software; you can redistribute it and/or modify it
    6    * under the terms of the GNU General Public License version 2 only, as
    7    * published by the Free Software Foundation.  Oracle designates this
    8    * particular file as subject to the "Classpath" exception as provided
    9    * by Oracle in the LICENSE file that accompanied this code.
   10    *
   11    * This code is distributed in the hope that it will be useful, but WITHOUT
   12    * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   13    * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   14    * version 2 for more details (a copy is included in the LICENSE file that
   15    * accompanied this code).
   16    *
   17    * You should have received a copy of the GNU General Public License version
   18    * 2 along with this work; if not, write to the Free Software Foundation,
   19    * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   20    *
   21    * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
   22    * or visit www.oracle.com if you need additional information or have any
   23    * questions.
   24    */
   25   
   26   package javax.swing.filechooser;
   27   
   28   import java.io.File;
   29   import javax.swing;
   30   
   31   /**
   32    * <code>FileView</code> defines an abstract class that can be implemented
   33    * to provide the filechooser with UI information for a <code>File</code>.
   34    * Each L&F <code>JFileChooserUI</code> object implements this
   35    * class to pass back the correct icons and type descriptions specific to
   36    * that L&F. For example, the Microsoft Windows L&F returns the
   37    * generic Windows icons for directories and generic files.
   38    * Additionally, you may want to provide your own <code>FileView</code> to
   39    * <code>JFileChooser</code> to return different icons or additional
   40    * information using {@link javax.swing.JFileChooser#setFileView}.
   41    *
   42    * <p>
   43    *
   44    * <code>JFileChooser</code> first looks to see if there is a user defined
   45    * <code>FileView</code>, if there is, it gets type information from
   46    * there first. If <code>FileView</code> returns <code>null</code> for
   47    * any method, <code>JFileChooser</code> then uses the L&F specific
   48    * view to get the information.
   49    * So, for example, if you provide a <code>FileView</code> class that
   50    * returns an <code>Icon</code> for JPG files, and returns <code>null</code>
   51    * icons for all other files, the UI's <code>FileView</code> will provide
   52    * default icons for all other files.
   53    *
   54    * <p>
   55    *
   56    * For an example implementation of a simple file view, see
   57    * <code><i>yourJDK</i>/demo/jfc/FileChooserDemo/ExampleFileView.java</code>.
   58    * For more information and examples see
   59    * <a
   60    href="http://java.sun.com/docs/books/tutorial/uiswing/components/filechooser.html">How to Use File Choosers</a>,
   61    * a section in <em>The Java Tutorial</em>.
   62    *
   63    * @see javax.swing.JFileChooser
   64    *
   65    * @author Jeff Dinkins
   66    *
   67    */
   68   public abstract class FileView {
   69       /**
   70        * The name of the file. Normally this would be simply
   71        * <code>f.getName()</code>.
   72        */
   73       public String getName(File f) {
   74           return null;
   75       };
   76   
   77       /**
   78        * A human readable description of the file. For example,
   79        * a file named <i>jag.jpg</i> might have a description that read:
   80        * "A JPEG image file of James Gosling's face".
   81        */
   82       public String getDescription(File f) {
   83           return null;
   84       }
   85   
   86       /**
   87        * A human readable description of the type of the file. For
   88        * example, a <code>jpg</code> file might have a type description of:
   89        * "A JPEG Compressed Image File"
   90        */
   91       public String getTypeDescription(File f) {
   92           return null;
   93       }
   94   
   95       /**
   96        * The icon that represents this file in the <code>JFileChooser</code>.
   97        */
   98       public Icon getIcon(File f) {
   99           return null;
  100       }
  101   
  102       /**
  103        * Whether the directory is traversable or not. This might be
  104        * useful, for example, if you want a directory to represent
  105        * a compound document and don't want the user to descend into it.
  106        */
  107       public Boolean isTraversable(File f) {
  108           return null;
  109       }
  110   
  111   }

Home » openjdk-7 » javax » swing » filechooser » [javadoc | source]