uk.ac.mrc.hgmp.embreo.filemgr
Class WindowsAltFileSystemView

java.lang.Object
  |
  +--javax.swing.filechooser.FileSystemView
        |
        +--uk.ac.mrc.hgmp.embreo.filemgr.WindowsAltFileSystemView

public class WindowsAltFileSystemView
extends javax.swing.filechooser.FileSystemView

This class is necessary due to an annoying bug on Windows NT where instantiating a JFileChooser with the default FileSystemView will cause a "drive A: not ready" error every time. I grabbed the Windows FileSystemView impl from the 1.3 SDK and modified it so as to not use java.io.File.listRoots() to get fileSystem roots. java.io.File.listRoots() does a SecurityManager.checkRead() which causes the OS to try to access drive A: even when there is no disk, causing an annoying "abort, retry, ignore" popup message every time we instantiate a JFileChooser! Instead of calling listRoots() we use a straightforward alternate method of getting file system roots.


Constructor Summary
WindowsAltFileSystemView()
           
 
Method Summary
 java.io.File createNewFolder(java.io.File containingDir)
          creates a new folder with a default folder name.
 java.io.File[] getRoots()
          Returns all root partitians on this system.
 boolean isHiddenFile(java.io.File f)
          Returns whether a file is hidden or not.
 boolean isRoot(java.io.File f)
          Returns true if the given file is a root.
 
Methods inherited from class javax.swing.filechooser.FileSystemView
createFileObject, createFileObject, createFileSystemRoot, getChild, getDefaultDirectory, getFiles, getFileSystemView, getHomeDirectory, getParentDirectory, getSystemDisplayName, getSystemIcon, getSystemTypeDescription, isComputerNode, isDrive, isFileSystem, isFileSystemRoot, isFloppyDrive, isParent, isTraversable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WindowsAltFileSystemView

public WindowsAltFileSystemView()
Method Detail

isRoot

public boolean isRoot(java.io.File f)
Returns true if the given file is a root.

Overrides:
isRoot in class javax.swing.filechooser.FileSystemView

createNewFolder

public java.io.File createNewFolder(java.io.File containingDir)
                             throws java.io.IOException
creates a new folder with a default folder name.

Specified by:
createNewFolder in class javax.swing.filechooser.FileSystemView

isHiddenFile

public boolean isHiddenFile(java.io.File f)
Returns whether a file is hidden or not. On Windows there is currently no way to get this information from io.File, therefore always return false.

Overrides:
isHiddenFile in class javax.swing.filechooser.FileSystemView

getRoots

public java.io.File[] getRoots()
Returns all root partitians on this system. On Windows, this will be the A: through Z: drives.

Overrides:
getRoots in class javax.swing.filechooser.FileSystemView