< prev index next >

src/java.desktop/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java

Print this page




 149      * Validates content of file cache.
 150      */
 151     public void validateFileCache() {
 152         File currentDirectory = filechooser.getCurrentDirectory();
 153         if (currentDirectory == null) {
 154             return;
 155         }
 156         if (filesLoader != null) {
 157             filesLoader.loadThread.interrupt();
 158             filesLoader.cancelRunnables();
 159         }
 160 
 161         setBusy(true, ++fetchID);
 162 
 163         filesLoader = new FilesLoader(currentDirectory, fetchID);
 164     }
 165 
 166     /**
 167      * Renames a file in the underlying file system.
 168      *
 169      * @param oldFile a <code>File</code> object representing
 170      *        the existing file
 171      * @param newFile a <code>File</code> object representing
 172      *        the desired new file name
 173      * @return <code>true</code> if rename succeeded,
 174      *        otherwise <code>false</code>
 175      * @since 1.4
 176      */
 177     public boolean renameFile(File oldFile, File newFile) {
 178         synchronized(fileCache) {
 179             if (oldFile.renameTo(newFile)) {
 180                 validateFileCache();
 181                 return true;
 182             }
 183             return false;
 184         }
 185     }
 186 
 187     /**
 188      * Invoked when a content is changed.
 189      */
 190     public void fireContentsChanged() {
 191         fireContentsChanged(this, 0, getSize() - 1);
 192     }
 193 
 194     public int getSize() {


 387             }
 388         }
 389 
 390 
 391         public void cancelRunnables(Vector<DoChangeContents> runnables) {
 392             for (DoChangeContents runnable : runnables) {
 393                 runnable.cancel();
 394             }
 395         }
 396 
 397         public void cancelRunnables() {
 398             cancelRunnables(runnables);
 399         }
 400    }
 401 
 402 
 403     /**
 404      * Adds a PropertyChangeListener to the listener list. The listener is
 405      * registered for all bound properties of this class.
 406      * <p>
 407      * If <code>listener</code> is <code>null</code>,
 408      * no exception is thrown and no action is performed.
 409      *
 410      * @param    listener  the property change listener to be added
 411      *
 412      * @see #removePropertyChangeListener
 413      * @see #getPropertyChangeListeners
 414      *
 415      * @since 1.6
 416      */
 417     public void addPropertyChangeListener(PropertyChangeListener listener) {
 418         if (changeSupport == null) {
 419             changeSupport = new PropertyChangeSupport(this);
 420         }
 421         changeSupport.addPropertyChangeListener(listener);
 422     }
 423 
 424     /**
 425      * Removes a PropertyChangeListener from the listener list.
 426      * <p>
 427      * If listener is null, no exception is thrown and no action is performed.
 428      *
 429      * @param listener the PropertyChangeListener to be removed
 430      *
 431      * @see #addPropertyChangeListener
 432      * @see #getPropertyChangeListeners
 433      *
 434      * @since 1.6
 435      */
 436     public void removePropertyChangeListener(PropertyChangeListener listener) {
 437         if (changeSupport != null) {
 438             changeSupport.removePropertyChangeListener(listener);
 439         }
 440     }
 441 
 442     /**
 443      * Returns an array of all the property change listeners
 444      * registered on this component.
 445      *
 446      * @return all of this component's <code>PropertyChangeListener</code>s
 447      *         or an empty array if no property change
 448      *         listeners are currently registered
 449      *
 450      * @see      #addPropertyChangeListener
 451      * @see      #removePropertyChangeListener
 452      * @see      java.beans.PropertyChangeSupport#getPropertyChangeListeners
 453      *
 454      * @since 1.6
 455      */
 456     public PropertyChangeListener[] getPropertyChangeListeners() {
 457         if (changeSupport == null) {
 458             return new PropertyChangeListener[0];
 459         }
 460         return changeSupport.getPropertyChangeListeners();
 461     }
 462 
 463     /**
 464      * Support for reporting bound property changes for boolean properties.
 465      * This method can be called when a bound property has changed and it will
 466      * send the appropriate PropertyChangeEvent to any registered




 149      * Validates content of file cache.
 150      */
 151     public void validateFileCache() {
 152         File currentDirectory = filechooser.getCurrentDirectory();
 153         if (currentDirectory == null) {
 154             return;
 155         }
 156         if (filesLoader != null) {
 157             filesLoader.loadThread.interrupt();
 158             filesLoader.cancelRunnables();
 159         }
 160 
 161         setBusy(true, ++fetchID);
 162 
 163         filesLoader = new FilesLoader(currentDirectory, fetchID);
 164     }
 165 
 166     /**
 167      * Renames a file in the underlying file system.
 168      *
 169      * @param oldFile a {@code File} object representing
 170      *        the existing file
 171      * @param newFile a {@code File} object representing
 172      *        the desired new file name
 173      * @return {@code true} if rename succeeded,
 174      *        otherwise {@code false}
 175      * @since 1.4
 176      */
 177     public boolean renameFile(File oldFile, File newFile) {
 178         synchronized(fileCache) {
 179             if (oldFile.renameTo(newFile)) {
 180                 validateFileCache();
 181                 return true;
 182             }
 183             return false;
 184         }
 185     }
 186 
 187     /**
 188      * Invoked when a content is changed.
 189      */
 190     public void fireContentsChanged() {
 191         fireContentsChanged(this, 0, getSize() - 1);
 192     }
 193 
 194     public int getSize() {


 387             }
 388         }
 389 
 390 
 391         public void cancelRunnables(Vector<DoChangeContents> runnables) {
 392             for (DoChangeContents runnable : runnables) {
 393                 runnable.cancel();
 394             }
 395         }
 396 
 397         public void cancelRunnables() {
 398             cancelRunnables(runnables);
 399         }
 400    }
 401 
 402 
 403     /**
 404      * Adds a PropertyChangeListener to the listener list. The listener is
 405      * registered for all bound properties of this class.
 406      * <p>
 407      * If {@code listener} is {@code null},
 408      * no exception is thrown and no action is performed.
 409      *
 410      * @param    listener  the property change listener to be added
 411      *
 412      * @see #removePropertyChangeListener
 413      * @see #getPropertyChangeListeners
 414      *
 415      * @since 1.6
 416      */
 417     public void addPropertyChangeListener(PropertyChangeListener listener) {
 418         if (changeSupport == null) {
 419             changeSupport = new PropertyChangeSupport(this);
 420         }
 421         changeSupport.addPropertyChangeListener(listener);
 422     }
 423 
 424     /**
 425      * Removes a PropertyChangeListener from the listener list.
 426      * <p>
 427      * If listener is null, no exception is thrown and no action is performed.
 428      *
 429      * @param listener the PropertyChangeListener to be removed
 430      *
 431      * @see #addPropertyChangeListener
 432      * @see #getPropertyChangeListeners
 433      *
 434      * @since 1.6
 435      */
 436     public void removePropertyChangeListener(PropertyChangeListener listener) {
 437         if (changeSupport != null) {
 438             changeSupport.removePropertyChangeListener(listener);
 439         }
 440     }
 441 
 442     /**
 443      * Returns an array of all the property change listeners
 444      * registered on this component.
 445      *
 446      * @return all of this component's {@code PropertyChangeListener}s
 447      *         or an empty array if no property change
 448      *         listeners are currently registered
 449      *
 450      * @see      #addPropertyChangeListener
 451      * @see      #removePropertyChangeListener
 452      * @see      java.beans.PropertyChangeSupport#getPropertyChangeListeners
 453      *
 454      * @since 1.6
 455      */
 456     public PropertyChangeListener[] getPropertyChangeListeners() {
 457         if (changeSupport == null) {
 458             return new PropertyChangeListener[0];
 459         }
 460         return changeSupport.getPropertyChangeListeners();
 461     }
 462 
 463     /**
 464      * Support for reporting bound property changes for boolean properties.
 465      * This method can be called when a bound property has changed and it will
 466      * send the appropriate PropertyChangeEvent to any registered


< prev index next >