-
Bug
-
Resolution: Duplicate
-
P4
-
None
-
6
-
x86
-
windows_xp
FULL PRODUCT VERSION :
java version "1.6.0_04"
Java(TM) SE Runtime Environment (build 1.6.0_04-b12)
Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Windows XP SP2 32bit
A DESCRIPTION OF THE PROBLEM :
Change in 1.6.0_04 Java BUG ID: 6560349 break own implemention of FileSystemView.
In BasicFileChooserUI.java "changeDirectory(File dir)" you always call
"ShellFolder shellFolder = ShellFolder.getShellFolder(dir);".
If FileSystemView is used by another filesystem like JDBC or IBM i5, then ShellFolder throws an exception.
The ClientProperty "FileChooser.useShellFolder" is not used.
Same problem in Java SE 6 update N.
ACTUAL -
In JFileChooser I can not go into directory with mouse doubleclick.
REPRODUCIBILITY :
This bug can be reproduced always.
CUSTOMER SUBMITTED WORKAROUND :
private void changeDirectory(File dir) {
JFileChooser fc = getFileChooser();
Boolean prop = Boolean)fc.getClientProperty("FileChooser.useShellFolder");
if (prop == null) {
prop = Boolean.TRUE;
}
// Traverse shortcuts on Windows
if (dir != null && prop.booleanValue()) {
try {
ShellFolder shellFolder = ShellFolder.getShellFolder(dir);
if (shellFolder.isLink()) {
File linkedTo = shellFolder.getLinkLocation();
if (linkedTo != null && fc.isTraversable(linkedTo)) {
dir = linkedTo;
} else {
return;
}
}
} catch (FileNotFoundException ex) {
return;
}
}
fc.setCurrentDirectory(dir);
if (fc.getFileSelectionMode() == JFileChooser.FILES_AND_DIRECTORIES &&
fc.getFileSystemView().isFileSystem(dir)) {
setFileName(dir.getAbsolutePath());
}
}
java version "1.6.0_04"
Java(TM) SE Runtime Environment (build 1.6.0_04-b12)
Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Windows XP SP2 32bit
A DESCRIPTION OF THE PROBLEM :
Change in 1.6.0_04 Java BUG ID: 6560349 break own implemention of FileSystemView.
In BasicFileChooserUI.java "changeDirectory(File dir)" you always call
"ShellFolder shellFolder = ShellFolder.getShellFolder(dir);".
If FileSystemView is used by another filesystem like JDBC or IBM i5, then ShellFolder throws an exception.
The ClientProperty "FileChooser.useShellFolder" is not used.
Same problem in Java SE 6 update N.
ACTUAL -
In JFileChooser I can not go into directory with mouse doubleclick.
REPRODUCIBILITY :
This bug can be reproduced always.
CUSTOMER SUBMITTED WORKAROUND :
private void changeDirectory(File dir) {
JFileChooser fc = getFileChooser();
Boolean prop = Boolean)fc.getClientProperty("FileChooser.useShellFolder");
if (prop == null) {
prop = Boolean.TRUE;
}
// Traverse shortcuts on Windows
if (dir != null && prop.booleanValue()) {
try {
ShellFolder shellFolder = ShellFolder.getShellFolder(dir);
if (shellFolder.isLink()) {
File linkedTo = shellFolder.getLinkLocation();
if (linkedTo != null && fc.isTraversable(linkedTo)) {
dir = linkedTo;
} else {
return;
}
}
} catch (FileNotFoundException ex) {
return;
}
}
fc.setCurrentDirectory(dir);
if (fc.getFileSelectionMode() == JFileChooser.FILES_AND_DIRECTORIES &&
fc.getFileSystemView().isFileSystem(dir)) {
setFileName(dir.getAbsolutePath());
}
}
- duplicates
-
JDK-6698013 JFileChooser can no longer navigate non-local file systems.
-
- Closed
-