org.argouml.util.osdep.win32
Class Win32FileSystemView
java.lang.Object
|
+--javax.swing.filechooser.FileSystemView
|
+--org.argouml.util.osdep.win32.Win32FileSystemView
- public class Win32FileSystemView
- 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.
- Since:
- ARGO0.9.8
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, getFiles, getFileSystemView, getHomeDirectory, getParentDirectory |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Win32FileSystemView
public Win32FileSystemView()
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.
- Overrides:
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.
Note - This appears to bypass the B drive! Should
we treat the B drive the same as the A drive, or should
we continue to bypass it?
- Overrides:
getRoots
in class javax.swing.filechooser.FileSystemView