2010-12-20 3 views
1

내가 읽어 통해Java FileDialog 디렉토리 선택 : Mac OSX 전용?

System.setProperty("apple.awt.fileDialogForDirectories", "true"); 
FileDialog를 통해 디렉토리를 선택할 수 있습니다

사용자가 지금 FileDialog 그건 내가 원하는하지만 위의 줄을 읽고 정확하게 그래서, 기본 파일 선택기를 evoces : apple.awt...을이 무슨 뜻 이 옵션은 Mac OSX에서만 작동합니까?

if(no) { 
    great 
} else { 
    what can i do to implement this on other operating systems than? 
} 

어떤 도움을 주셔서 감사합니다!

추신 : (에서 나는 많은 사람들이 JFileChooser를의 사용을 제안 알고 있지만,이 경우 내가 그건 불가능하면

내 지식으로

답변

1

정확하게 두려워하는 것입니다. AWT는 기본 라이브러리를 사용했습니다. OSX에는 디렉터리 만 찾는 기능이 있습니다. Windows는 그렇지 않습니다. AWT를 기반으로하지 않는 대화 상자 (예 : Swing 또는 SWT) 만 변경하면됩니다.

플랫폼 특정 구현을 사용하여 인터페이스를 정의 할 수 있습니다. 이것은 OSX와 다른 플랫폼에서 작동하는 것에 대한 좋은 대화 상자를 제공합니다. 그게 내가하는 일이야.

+0

Windows에 디렉토리 선택 대화 상자가 있습니다. AWT가 처음 생성되었을 때 존재하지 않았습니다. – Powerlord

0

, FileDialog를 지원하지 않는 것을 제외하고 아주 많이는 FileDialog를 원합니다 -code)를 사용하여 모든 플랫폼에서 디렉토리 대화 상자를 사용하십시오.

이미 Swing의 JFileChooser에 대해 언급했으나 위젯 대신 SWT를 고려할 수 있습니다.

SWT은 원시 위젯을 사용할 수있을 때 업데이트 된 Java GUI Toolkit을 작성하는 Eclipse (원래 IBM) 프로젝트입니다.

SWT의 주요 단점은 표준 Java 배포판에 포함되어 있지 않으며 각 플랫폼마다 고유 한 SWT jar 파일이 있다는 것입니다.

덧붙여서 SWT는 DirectoryDialog 위젯을 가지고 있습니다.

+0

스윙을 사용하는 경우 SWT로 쉽게 전환 할 수 없습니다. Swing 응용 프로그램을 SWT로 변환 할 준비를하고 있기 때문에 내가 말하는 것에 대해 알고 있습니다. – Mot

+0

@mklhmnn : 그는 awt FileDialog 클래스를 사용하고 있기 때문에 JFileChooser를 사용하고 싶지 않았기 때문에 Swing을 사용하지 않는다고 가정했습니다. – Powerlord

+0

SWT 구현이 JFileChooser보다 실현하기가 더 어려워서 SWT의 존재를 지적 해 주신 것에 감사드립니다. (새 것을위한) – Samuel