< prev index next >

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

Print this page

        

@@ -48,58 +48,86 @@
  * @author Jeff Dinkins
  */
 public class BasicFileChooserUI extends FileChooserUI {
 
     /* FileView icons */
+    /** Directory icon */
     protected Icon directoryIcon = null;
+    /** File icon */
     protected Icon fileIcon = null;
+    /** Computer icon */
     protected Icon computerIcon = null;
+    /** Hard drive icon */
     protected Icon hardDriveIcon = null;
+    /** Floppy drive icon */
     protected Icon floppyDriveIcon = null;
 
+    /** New folder icon */
     protected Icon newFolderIcon = null;
+    /** Up folder icon */
     protected Icon upFolderIcon = null;
+    /** Home folder icon */
     protected Icon homeFolderIcon = null;
+    /** List view icon */
     protected Icon listViewIcon = null;
+    /** Details view icon */
     protected Icon detailsViewIcon = null;
+    /** View menu icon */
     protected Icon viewMenuIcon = null;
 
+    /** Save button mnemonic */
     protected int saveButtonMnemonic = 0;
+    /** Open button mnemonic */
     protected int openButtonMnemonic = 0;
+    /** Cancel button mnemonic */
     protected int cancelButtonMnemonic = 0;
+    /** Update button mnemonic */
     protected int updateButtonMnemonic = 0;
+    /** Help button mnemonic */
     protected int helpButtonMnemonic = 0;
 
     /**
      * The mnemonic keycode used for the approve button when a directory
      * is selected and the current selection mode is FILES_ONLY.
      *
      * @since 1.4
      */
     protected int directoryOpenButtonMnemonic = 0;
 
+    /** Save button text */
     protected String saveButtonText = null;
+    /** Open button text */
     protected String openButtonText = null;
+    /** Cancel button text */
     protected String cancelButtonText = null;
+    /** Update button text */
     protected String updateButtonText = null;
+    /** Help button text */
     protected String helpButtonText = null;
 
     /**
      * The label text displayed on the approve button when a directory
      * is selected and the current selection mode is FILES_ONLY.
      *
      * @since 1.4
      */
     protected String directoryOpenButtonText = null;
 
+    /** Open dialog text */
     private String openDialogTitleText = null;
+    /** Save dialog text */
     private String saveDialogTitleText = null;
 
+    /** Save button tool tip text */
     protected String saveButtonToolTipText = null;
+    /** Open button tool tip text */
     protected String openButtonToolTipText = null;
+    /** Cancel button tool tip text */
     protected String cancelButtonToolTipText = null;
+    /** Update button tool tip text */
     protected String updateButtonToolTipText = null;
+    /** Help button tool tip text */
     protected String helpButtonToolTipText = null;
 
     /**
      * The tooltip text displayed on the approve button when a directory
      * is selected and the current selection mode is FILES_ONLY.

@@ -156,13 +184,21 @@
      */
     public static ComponentUI createUI(JComponent c) {
         return new BasicFileChooserUI((JFileChooser) c);
     }
 
+    /**
+     * Constructs a {@code BasicFileChooserUI}.
+     * @param b file chooser
+     */
     public BasicFileChooserUI(JFileChooser b) {
     }
 
+    /**
+     * Installs the UI.
+     * @param c the component
+     */
     public void installUI(JComponent c) {
         accessoryPanel = new JPanel(new BorderLayout());
         filechooser = (JFileChooser) c;
 
         createModel();

@@ -173,10 +209,14 @@
         installComponents(filechooser);
         installListeners(filechooser);
         filechooser.applyComponentOrientation(filechooser.getComponentOrientation());
     }
 
+    /**
+     * Uninstalls the UI.
+     * @param c the component
+     */
     public void uninstallUI(JComponent c) {
         uninstallListeners(filechooser);
         uninstallComponents(filechooser);
         uninstallDefaults(filechooser);
 

@@ -188,16 +228,28 @@
         getFileChooser().removeAll();
 
         handler = null;
     }
 
+    /**
+     * Installs the components.
+     * @param fc the file chooser
+     */
     public void installComponents(JFileChooser fc) {
     }
 
+    /**
+     * Uninstalls the components.
+     * @param fc the file chooser
+     */
     public void uninstallComponents(JFileChooser fc) {
     }
 
+    /**
+     * Installs the listeners.
+     * @param fc the file chooser
+     */
     protected void installListeners(JFileChooser fc) {
         propertyChangeListener = createPropertyChangeListener(fc);
         if(propertyChangeListener != null) {
             fc.addPropertyChangeListener(propertyChangeListener);
         }

@@ -239,10 +291,14 @@
                 getChangeToParentDirectoryAction());
         return map;
     }
 
 
+    /**
+     * Uninstalls the listeners.
+     * @param fc the file chooser
+     */
     protected void uninstallListeners(JFileChooser fc) {
         if(propertyChangeListener != null) {
             fc.removePropertyChangeListener(propertyChangeListener);
         }
         fc.removePropertyChangeListener(getModel());

@@ -250,10 +306,14 @@
                                          WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, null);
         SwingUtilities.replaceUIActionMap(fc, null);
     }
 
 
+    /**
+     * Installs the defaults.
+     * @param fc the file chooser
+     */
     protected void installDefaults(JFileChooser fc) {
         installIcons(fc);
         installStrings(fc);
         usesSingleFilePane = UIManager.getBoolean("FileChooser.usesSingleFilePane");
         readOnly           = UIManager.getBoolean("FileChooser.readOnly");

@@ -262,10 +322,14 @@
             fc.setTransferHandler(defaultTransferHandler);
         }
         LookAndFeel.installProperty(fc, "opaque", Boolean.FALSE);
     }
 
+    /**
+     * Installs the icons.
+     * @param fc the file chooser
+     */
     protected void installIcons(JFileChooser fc) {
         directoryIcon    = UIManager.getIcon("FileView.directoryIcon");
         fileIcon         = UIManager.getIcon("FileView.fileIcon");
         computerIcon     = UIManager.getIcon("FileView.computerIcon");
         hardDriveIcon    = UIManager.getIcon("FileView.hardDriveIcon");

@@ -277,10 +341,14 @@
         detailsViewIcon  = UIManager.getIcon("FileChooser.detailsViewIcon");
         listViewIcon     = UIManager.getIcon("FileChooser.listViewIcon");
         viewMenuIcon     = UIManager.getIcon("FileChooser.viewMenuIcon");
     }
 
+    /**
+     * Installs the strings.
+     * @param fc the file chooser
+     */
     protected void installStrings(JFileChooser fc) {
 
         Locale l = fc.getLocale();
         newFolderErrorText = UIManager.getString("FileChooser.newFolderErrorText",l);
         newFolderErrorSeparator = UIManager.getString("FileChooser.newFolderErrorSeparator",l);

@@ -313,18 +381,26 @@
         updateButtonToolTipText = UIManager.getString("FileChooser.updateButtonToolTipText",l);
         helpButtonToolTipText   = UIManager.getString("FileChooser.helpButtonToolTipText",l);
         directoryOpenButtonToolTipText = UIManager.getString("FileChooser.directoryOpenButtonToolTipText",l);
     }
 
+    /**
+     * Uninstalls the defaults.
+     * @param fc the file chooser
+     */
     protected void uninstallDefaults(JFileChooser fc) {
         uninstallIcons(fc);
         uninstallStrings(fc);
         if (fc.getTransferHandler() instanceof UIResource) {
             fc.setTransferHandler(null);
         }
     }
 
+    /**
+     * Uninstalls the icons.
+     * @param fc the file chooser
+     */
     protected void uninstallIcons(JFileChooser fc) {
         directoryIcon    = null;
         fileIcon         = null;
         computerIcon     = null;
         hardDriveIcon    = null;

@@ -336,10 +412,14 @@
         detailsViewIcon  = null;
         listViewIcon     = null;
         viewMenuIcon     = null;
     }
 
+    /**
+     * Uninstalls the strings.
+     * @param fc the file chooser
+     */
     protected void uninstallStrings(JFileChooser fc) {
         saveButtonText   = null;
         openButtonText   = null;
         cancelButtonText = null;
         updateButtonText = null;

@@ -352,61 +432,116 @@
         updateButtonToolTipText = null;
         helpButtonToolTipText = null;
         directoryOpenButtonToolTipText = null;
     }
 
+    /**
+     * Creates the model.
+     */
     protected void createModel() {
         if (model != null) {
             model.invalidateFileCache();
         }
         model = new BasicDirectoryModel(getFileChooser());
     }
 
+    /**
+     * Returns the model.
+     * @return the model
+     */
     public BasicDirectoryModel getModel() {
         return model;
     }
 
+    /**
+     * Creates the property change listener.
+     * @param fc the file chooser
+     * @return the property change listener
+     */
     public PropertyChangeListener createPropertyChangeListener(JFileChooser fc) {
         return null;
     }
 
+    /**
+     * Returns the file name.
+     * @return the file name
+     */
     public String getFileName() {
         return null;
     }
 
+    /**
+     * Returns the directory name.
+     * @return the directory name
+     */
     public String getDirectoryName() {
         return null;
     }
 
+    /**
+     * Sets the file name.
+     * @param filename the file name
+     */
     public void setFileName(String filename) {
     }
 
+    /**
+     * Sets the directory name.
+     * @param dirname the file name
+     */
     public void setDirectoryName(String dirname) {
     }
 
+    /**
+     * {@inheritDoc}
+     */
     public void rescanCurrentDirectory(JFileChooser fc) {
     }
 
+    /**
+     * {@inheritDoc}
+     */
     public void ensureFileIsVisible(JFileChooser fc, File f) {
     }
 
+    /**
+     * Returns the file chooser.
+     * @return the file chooser
+     */
     public JFileChooser getFileChooser() {
         return filechooser;
     }
 
+    /**
+     * Returns the accessory panel.
+     * @return the accessory panel
+     */
     public JPanel getAccessoryPanel() {
         return accessoryPanel;
     }
 
+    /**
+     * Returns the approve button.
+     * @param fc the file chooser
+     * @return the approve button
+     */
     protected JButton getApproveButton(JFileChooser fc) {
         return null;
     }
 
+    /**
+     * {@inheritDoc}
+     */
     public JButton getDefaultButton(JFileChooser fc) {
         return getApproveButton(fc);
     }
 
+    /**
+     * Returns the approve button tool tip.
+     * @param fc the file chooser
+     * @return the approve button tool tip
+     */
     public String getApproveButtonToolTipText(JFileChooser fc) {
         String tooltipText = fc.getApproveButtonToolTipText();
         if(tooltipText != null) {
             return tooltipText;
         }

@@ -417,10 +552,13 @@
             return saveButtonToolTipText;
         }
         return null;
     }
 
+    /**
+     * Clears the icon cache.
+     */
     public void clearIconCache() {
         fileView.clearIconCache();
     }
 
 

@@ -433,15 +571,26 @@
             handler = new Handler();
         }
         return handler;
     }
 
+    /**
+     * Creates a double click listener.
+     * @param fc the file chooser
+     * @param list the list
+     * @return a double click listener
+     */
     protected MouseListener createDoubleClickListener(JFileChooser fc,
                                                       JList<?> list) {
         return new Handler(list);
     }
 
+    /**
+     * Creates a list selection listener.
+     * @param fc the file chooser
+     * @return a list selection listener
+     */
     public ListSelectionListener createListSelectionListener(JFileChooser fc) {
         return getHandler();
     }
 
     private class Handler implements MouseListener, ListSelectionListener {

@@ -564,16 +713,23 @@
                 }
             }
         }
     }
 
+    /**
+     * A double click listener.
+     */
     protected class DoubleClickListener extends MouseAdapter {
         // NOTE: This class exists only for backward compatibility. All
         // its functionality has been moved into Handler. If you need to add
         // new functionality add it to the Handler, but make sure this
         // class calls into the Handler.
         Handler handler;
+        /**
+         * Constucts a {@code DoubleClickListener}.
+         * @param list the lsit
+         */
         public  DoubleClickListener(JList<?> list) {
             handler = new Handler(list);
         }
 
         /**

@@ -585,20 +741,25 @@
          */
         public void mouseEntered(MouseEvent e) {
             handler.mouseEntered(e);
         }
 
+        /** {@inheritDoc} */
         public void mouseClicked(MouseEvent e) {
             handler.mouseClicked(e);
         }
     }
 
+    /**
+     * A selection listener.
+     */
     protected class SelectionListener implements ListSelectionListener {
         // NOTE: This class exists only for backward compatibility. All
         // its functionality has been moved into Handler. If you need to add
         // new functionality add it to the Handler, but make sure this
         // class calls into the Handler.
+        /** {@inheritDoc} */
         public void valueChanged(ListSelectionEvent e) {
             getHandler().valueChanged(e);
         }
     }
 

@@ -670,10 +831,12 @@
     }
 
 
     /**
      * Returns the title of this dialog
+     * @param fc the file chooser
+     * @return the title of this dialog
      */
     public String getDialogTitle(JFileChooser fc) {
         String dialogTitle = fc.getDialogTitle();
         if (dialogTitle != null) {
             return dialogTitle;

@@ -684,11 +847,15 @@
         } else {
             return getApproveButtonText(fc);
         }
     }
 
-
+    /**
+     * Returns the approve button mnemonic.
+     * @param fc the file chooser
+     * @return the approve button mnemonic
+     */
     public int getApproveButtonMnemonic(JFileChooser fc) {
         int mnemonic = fc.getApproveButtonMnemonic();
         if (mnemonic > 0) {
             return mnemonic;
         } else if (fc.getDialogType() == JFileChooser.OPEN_DIALOG) {

@@ -698,10 +865,11 @@
         } else {
             return mnemonic;
         }
     }
 
+    /** {@inheritDoc} */
     public String getApproveButtonText(JFileChooser fc) {
         String buttonText = fc.getApproveButtonText();
         if (buttonText != null) {
             return buttonText;
         } else if (fc.getDialogType() == JFileChooser.OPEN_DIALOG) {

@@ -716,10 +884,14 @@
 
     // *****************************
     // ***** Directory Actions *****
     // *****************************
 
+    /**
+     * Returns a new folder action.
+     * @return a new folder action
+     */
     public Action getNewFolderAction() {
         if (newFolderAction == null) {
             newFolderAction = new NewFolderAction();
             // Note: Don't return null for readOnly, it might
             // break older apps.

@@ -728,39 +900,61 @@
             }
         }
         return newFolderAction;
     }
 
+    /**
+     * Returns a go home action.
+     * @return a go home action
+     */
     public Action getGoHomeAction() {
         return goHomeAction;
     }
 
+    /**
+     * Returns a change to parent directory action.
+     * @return a change to parent directory action
+     */
     public Action getChangeToParentDirectoryAction() {
         return changeToParentDirectoryAction;
     }
 
+    /**
+     * Returns an approve selection action.
+     * @return an approve selection  action
+     */
     public Action getApproveSelectionAction() {
         return approveSelectionAction;
     }
 
+    /**
+     * Returns a cancel selection action.
+     * @return a cancel selection action
+     */
     public Action getCancelSelectionAction() {
         return cancelSelectionAction;
     }
 
+    /**
+     * Returns an update action.
+     * @return an update action
+     */
     public Action getUpdateAction() {
         return updateAction;
     }
 
 
     /**
      * Creates a new folder.
      */
     @SuppressWarnings("serial") // Superclass is not serializable across versions
     protected class NewFolderAction extends AbstractAction {
+        /** Constructs a {@code NewFolderAction}. */
         protected NewFolderAction() {
             super(FilePane.ACTION_NEW_FOLDER);
         }
+        /** {@inheritDoc} */
         public void actionPerformed(ActionEvent e) {
             if (readOnly) {
                 return;
             }
             JFileChooser fc = getFileChooser();

@@ -797,38 +991,46 @@
     /**
      * Acts on the "home" key event or equivalent event.
      */
     @SuppressWarnings("serial") // Superclass is not serializable across versions
     protected class GoHomeAction extends AbstractAction {
+        /** Constructs a {@code GoHomeAction}. */
         protected GoHomeAction() {
             super("Go Home");
         }
         public void actionPerformed(ActionEvent e) {
             JFileChooser fc = getFileChooser();
             changeDirectory(fc.getFileSystemView().getHomeDirectory());
         }
     }
 
+    /**
+     * Change to parent directory action.
+     */
     @SuppressWarnings("serial") // Superclass is not serializable across versions
     protected class ChangeToParentDirectoryAction extends AbstractAction {
+        /** Constructs a {@code ChangeToParentDirectoryAction}. */
         protected ChangeToParentDirectoryAction() {
             super("Go Up");
             putValue(Action.ACTION_COMMAND_KEY, FilePane.ACTION_CHANGE_TO_PARENT_DIRECTORY);
         }
+        /** {@inheritDoc} */
         public void actionPerformed(ActionEvent e) {
             getFileChooser().changeToParentDirectory();
         }
     }
 
     /**
      * Responds to an Open or Save request
      */
     @SuppressWarnings("serial") // Superclass is not serializable across versions
     protected class ApproveSelectionAction extends AbstractAction {
+        /** Constructs an {@code ApproveSelectionAction}. */
         protected ApproveSelectionAction() {
             super(FilePane.ACTION_APPROVE_SELECTION);
         }
+        /** {@inheritDoc} */
         public void actionPerformed(ActionEvent e) {
             if (isDirectorySelected()) {
                 File dir = getDirectory();
                 if (dir != null) {
                     try {

@@ -1131,20 +1333,22 @@
     /**
      * Responds to a cancel request.
      */
     @SuppressWarnings("serial") // Superclass is not serializable across versions
     protected class CancelSelectionAction extends AbstractAction {
+        /** {@inheritDoc} */
         public void actionPerformed(ActionEvent e) {
             getFileChooser().cancelSelection();
         }
     }
 
     /**
      * Rescans the files in the current directory
      */
     @SuppressWarnings("serial") // Superclass is not serializable across versions
     protected class UpdateAction extends AbstractAction {
+        /** {@inheritDoc} */
         public void actionPerformed(ActionEvent e) {
             JFileChooser fc = getFileChooser();
             fc.setCurrentDirectory(fc.getFileSystemView().createFileObject(getDirectoryName()));
             fc.rescanCurrentDirectory();
         }

@@ -1186,54 +1390,75 @@
 
 
     // *****************************************
     // ***** default AcceptAll file filter *****
     // *****************************************
+    /**
+     * Accept all file filter.
+     */
     protected class AcceptAllFileFilter extends FileFilter {
 
+        /** Constructs an {@code AcceptAllFileFilter}. */
         public AcceptAllFileFilter() {
         }
 
+        /**
+         * Returns true.
+         * @param f the file
+         * @return true
+         */
         public boolean accept(File f) {
             return true;
         }
 
+        /**
+         * {@inheritDoc}
+         */
         public String getDescription() {
             return UIManager.getString("FileChooser.acceptAllFileFilterText");
         }
     }
 
 
     // ***********************
     // * FileView operations *
     // ***********************
+    /**
+     * A basic file view.
+     */
     protected class BasicFileView extends FileView {
         /* FileView type descriptions */
-        // PENDING(jeff) - pass in the icon cache size
+        /** The icon cache */
         protected Hashtable<File,Icon> iconCache = new Hashtable<File,Icon>();
 
+        /** Constructs a {@code BasicFileView}. */
         public BasicFileView() {
         }
 
+        /**
+         * Clears the icon cache.
+         */
         public void clearIconCache() {
             iconCache = new Hashtable<File,Icon>();
         }
 
+        /** {@inheritDoc} */
         public String getName(File f) {
             // Note: Returns display name rather than file name
             String fileName = null;
             if(f != null) {
                 fileName = getFileChooser().getFileSystemView().getSystemDisplayName(f);
             }
             return fileName;
         }
 
-
+        /** {@inheritDoc} */
         public String getDescription(File f) {
             return f.getName();
         }
 
+        /** {@inheritDoc} */
         public String getTypeDescription(File f) {
             String type = getFileChooser().getFileSystemView().getSystemTypeDescription(f);
             if (type == null) {
                 if (f.isDirectory()) {
                     type = directoryDescriptionText;

@@ -1242,21 +1467,32 @@
                 }
             }
             return type;
         }
 
+        /**
+         * Returns the cached icon for the file.
+         * @param f the file
+         * @return the cached icon for the file
+         */
         public Icon getCachedIcon(File f) {
             return iconCache.get(f);
         }
 
+        /**
+         * Caches an icon for a file.
+         * @param f the file
+         * @param i the icon
+         */
         public void cacheIcon(File f, Icon i) {
             if(f == null || i == null) {
                 return;
             }
             iconCache.put(f, i);
         }
 
+        /** {@inheritDoc} */
         public Icon getIcon(File f) {
             Icon icon = getCachedIcon(f);
             if(icon != null) {
                 return icon;
             }

@@ -1276,10 +1512,15 @@
             }
             cacheIcon(f, icon);
             return icon;
         }
 
+        /**
+         * Returns whether or not a file is hidden.
+         * @param f the file
+         * @return whether or not a file is hidden
+         */
         public Boolean isHidden(File f) {
             String name = f.getName();
             if(name != null && name.charAt(0) == '.') {
                 return Boolean.TRUE;
             } else {
< prev index next >