/[classpath]/classpath/javax/swing/JFileChooser.java
ViewVC logotype

Diff of /classpath/javax/swing/JFileChooser.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4.2.9 by gnu_andrew, Wed Nov 2 00:43:45 2005 UTC revision 1.4.2.10 by gnu_andrew, Sun Nov 27 21:00:37 2005 UTC
# Line 407  public class JFileChooser extends JCompo Line 407  public class JFileChooser extends JCompo
407     */     */
408    public JFileChooser(String currentDirectoryPath)    public JFileChooser(String currentDirectoryPath)
409    {    {
410      setup(null);      this(currentDirectoryPath, null);
     setCurrentDirectory(fsv.createFileObject(currentDirectoryPath));  
411    }    }
412    
413    /**    /**
# Line 424  public class JFileChooser extends JCompo Line 423  public class JFileChooser extends JCompo
423    public JFileChooser(String currentDirectoryPath, FileSystemView fsv)    public JFileChooser(String currentDirectoryPath, FileSystemView fsv)
424    {    {
425      setup(fsv);      setup(fsv);
426      setCurrentDirectory(fsv.createFileObject(currentDirectoryPath));      File dir = null;
427        if (currentDirectoryPath != null)
428          dir = getFileSystemView().createFileObject(currentDirectoryPath);
429        setCurrentDirectory(dir);
430    }    }
431    
432    /**    /**
# Line 525  public class JFileChooser extends JCompo Line 527  public class JFileChooser extends JCompo
527     */     */
528    public void setSelectedFile(File file)    public void setSelectedFile(File file)
529    {    {
530      if (selectedFile != file)      if (selectedFile == null || !selectedFile.equals(file))
531        {        {
532          File old = selectedFile;          File old = selectedFile;
533          selectedFile = file;          selectedFile = file;
# Line 534  public class JFileChooser extends JCompo Line 536  public class JFileChooser extends JCompo
536    }    }
537    
538    /**    /**
539     * Returns the selected file or files.     * Returns the selected file or files in an array.  If no files are selected,
540       * an empty array is returned.
541     *     *
542     * @return An array of the selected files, or <code>null</code> if there are     * @return An array of the selected files (possibly empty).
    *         no selected files.  
543     */     */
544    public File[] getSelectedFiles()    public File[] getSelectedFiles()
545    {    {
# Line 545  public class JFileChooser extends JCompo Line 547  public class JFileChooser extends JCompo
547        return selectedFiles;        return selectedFiles;
548      if (selectedFile != null)      if (selectedFile != null)
549        return new File[] { selectedFile };        return new File[] { selectedFile };
550      return null;      return new File[0];
551    }    }
552    
553    /**    /**
# Line 557  public class JFileChooser extends JCompo Line 559  public class JFileChooser extends JCompo
559     */     */
560    public void setSelectedFiles(File[] selectedFiles)    public void setSelectedFiles(File[] selectedFiles)
561    {    {
562        if (selectedFiles == null)
563          selectedFiles = new File[0];
564        if (selectedFiles.length > 0)
565          setSelectedFile(selectedFiles[0]);
566        else
567          setSelectedFile(null);
568      if (this.selectedFiles != selectedFiles)      if (this.selectedFiles != selectedFiles)
569        {        {
570          File[] old = this.selectedFiles;          File[] old = this.selectedFiles;
# Line 564  public class JFileChooser extends JCompo Line 572  public class JFileChooser extends JCompo
572          firePropertyChange(SELECTED_FILES_CHANGED_PROPERTY, old, selectedFiles);          firePropertyChange(SELECTED_FILES_CHANGED_PROPERTY, old, selectedFiles);
573        }        }
574    
     if (selectedFiles != null)  
       setSelectedFile(selectedFiles[0]);  
575    }    }
576    
577    /**    /**
# Line 607  public class JFileChooser extends JCompo Line 613  public class JFileChooser extends JCompo
613     */     */
614    public void changeToParentDirectory()    public void changeToParentDirectory()
615    {    {
616      if (fsv.getParentDirectory(currentDir) != null)      setCurrentDirectory(fsv.getParentDirectory(currentDir));
       setCurrentDirectory(fsv.getParentDirectory(currentDir));  
617    }    }
618    
619    /**    /**
# Line 958  public class JFileChooser extends JCompo Line 963  public class JFileChooser extends JCompo
963     * {@link #CHOOSABLE_FILE_FILTER_CHANGED_PROPERTY}) to all registered     * {@link #CHOOSABLE_FILE_FILTER_CHANGED_PROPERTY}) to all registered
964     * listeners.     * listeners.
965     *     *
966     * @param filter  the filter.     * @param filter  the filter (<code>null</code> permitted).
967     */     */
968    public void addChoosableFileFilter(FileFilter filter)    public void addChoosableFileFilter(FileFilter filter)
969    {    {
970      FileFilter[] old = getChoosableFileFilters();      if (filter != null)
971      choosableFilters.add(filter);        {
972      FileFilter[] newFilters = getChoosableFileFilters();          FileFilter[] old = getChoosableFileFilters();
973      firePropertyChange(CHOOSABLE_FILE_FILTER_CHANGED_PROPERTY, old, newFilters);          choosableFilters.add(filter);
974            FileFilter[] newFilters = getChoosableFileFilters();
975            firePropertyChange(CHOOSABLE_FILE_FILTER_CHANGED_PROPERTY, old,
976                  newFilters);
977          }
978        setFileFilter(filter);
979    }    }
980    
981    /**    /**
# Line 981  public class JFileChooser extends JCompo Line 991  public class JFileChooser extends JCompo
991     */     */
992    public boolean removeChoosableFileFilter(FileFilter f)    public boolean removeChoosableFileFilter(FileFilter f)
993    {    {
994        if (f == currentFilter)
995          setFileFilter(null);
996      FileFilter[] old = getChoosableFileFilters();      FileFilter[] old = getChoosableFileFilters();
997      if (! choosableFilters.remove(f))      if (! choosableFilters.remove(f))
998        return false;        return false;
# Line 1037  public class JFileChooser extends JCompo Line 1049  public class JFileChooser extends JCompo
1049      if (isAcceptAll != b)      if (isAcceptAll != b)
1050        {        {
1051          isAcceptAll = b;          isAcceptAll = b;
1052            if (b)
1053              addChoosableFileFilter(getAcceptAllFileFilter());
1054            else
1055              removeChoosableFileFilter(getAcceptAllFileFilter());
1056          firePropertyChange(ACCEPT_ALL_FILE_FILTER_USED_CHANGED_PROPERTY,          firePropertyChange(ACCEPT_ALL_FILE_FILTER_USED_CHANGED_PROPERTY,
1057                             ! isAcceptAll, isAcceptAll);                             ! isAcceptAll, isAcceptAll);
1058        }        }
# Line 1208  public class JFileChooser extends JCompo Line 1224  public class JFileChooser extends JCompo
1224     * property name {@link #FILE_FILTER_CHANGED_PROPERTY}) to all registered     * property name {@link #FILE_FILTER_CHANGED_PROPERTY}) to all registered
1225     * listeners.     * listeners.
1226     *     *
1227     * @param filter  the filter.     * @param filter  the filter (<code>null</code> permitted).
1228     */     */
1229    public void setFileFilter(FileFilter filter)    public void setFileFilter(FileFilter filter)
1230    {    {
1231      if (currentFilter != filter)      if (currentFilter != filter)
1232        {        {
1233          FileFilter old = currentFilter;          if (filter != null && !choosableFilters.contains(filter))
1234          currentFilter = filter;            addChoosableFileFilter(filter);
1235          firePropertyChange(FILE_FILTER_CHANGED_PROPERTY, old, currentFilter);          FileFilter old = currentFilter;
1236            currentFilter = filter;
1237            firePropertyChange(FILE_FILTER_CHANGED_PROPERTY, old, currentFilter);
1238        }        }
1239    }    }
1240    
# Line 1356  public class JFileChooser extends JCompo Line 1374  public class JFileChooser extends JCompo
1374    public boolean accept(File f)    public boolean accept(File f)
1375    {    {
1376      if (f == null)      if (f == null)
1377        return false;        return true;
1378      return getFileFilter().accept(f);      FileFilter ff = getFileFilter();
1379        if (ff != null)
1380          return ff.accept(f);
1381        else
1382          return true;
1383    }    }
1384    
1385    /**    /**

Legend:
Removed from v.1.4.2.9  
changed lines
  Added in v.1.4.2.10

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26