2011-08-19 3 views
4

스윙의 JFileChooser (Java 1.6.0_u25)는 NTFS 연결 지점 또는 심볼릭 링크를 처리하는 방법을 모르는 것 같습니다. 윈도우 7 상자에이를 사용하는 경우JFileChooser 및 NTFS JunctionPoints/Symlinks?

int rv = mainfileChooser.showOpenDialog(parentFrame)

에게 이

, 내 문서 아래에있는 특수 폴더 (내 그림, 내 비디오, 내 음악) 할 수 없습니다

파일 선택기 특별한 취급이 없습니다 입력 됨 - 사용자가 클릭했지만 아무 일도 일어나지 않으며 선택할 수 없습니다. 몇 가지 실험을 한 후에도 SymLink 또는 Junction Point (OS에서 미리 생성되고 수동으로 생성 됨)에서 동일한 문제가 발생합니다.

.lnk 디렉토리에 대한 바로 가기가 정상적으로 작동합니다.

이 문제를 해결하고 내 사용자가 "내 그림"에 이미지를 저장할 수있는 방법이 있습니까?

답변

0

놀랍게도 우연의 일치로, Java 1.6u27은 출하되었으며 바로이 문제에 대한 픽스가 포함되어 있습니다!

릴리스 노트 : http://www.oracle.com/technetwork/java/javase/2col/6u27bugfixes-444150.html

버그 작성자 : http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7012783

버그 논의가 아니라 연결 지점보다, DFS 링크를 중심으로 돌아 가지,하지만 난 문제가 같은 생각, 로컬 모든이를 테스트 엉뚱한 행동이 사라졌고 내 사진 (및 친구들)에 잘 보관할 수 있습니다.

3

이러한 특수 유형의 문제점은 크로스 플랫폼이 아니므로 JFileChooser가 이러한 기능을 지원하지 않는다는 것입니다.

XFileDialog 네이티브를 사용할 수 있습니다. 혼자서 사용하지는 않았지만 관련성이있는 것 같습니다. 네이티브이며 Linux/OSX로 이식 할 수 없습니다.

0

특수 폴더는 최소한 시스템의 룩앤필에서 작동합니다.

try { 
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
} catch (ClassNotFoundException e1) { 
} catch (InstantiationException e1) { 
} catch (IllegalAccessException e1) { 
} catch (UnsupportedLookAndFeelException e1) { 
} 
+0

이렇게하면 기본 대화 상자와 매우 유사한 대화 상자가 표시되지만 특수 디렉터리를 보거나 이동할 수는 없습니다. –

+0

내 앱에서 내 비디오, 내 사진, 음악 등을 검색 할 수 있습니다 (Windows 7, 최신 Java 6). 그래서 나는 왜 당신이 할 수 없는지 모르겠다. – Zammbi