Development Tip

JavaFX FileChooser

yourdevel 2020. 12. 15. 19:50
반응형

JavaFX FileChooser


이제 JavaFX에서 약간의 문제가 발생했습니다. 파일 대신 FOLDER를 가리킬 수있는 코드에서 파일을 선택하려고했습니다. 현재 나는 그것에 대한 해결책이 없습니다. 해결 방법을 알고 있습니까 (스윙에서 JFileChooser 사용 제외)?

미리 답변 해 주셔서 감사합니다.

편집 : 나는 이미 답을 얻었고 테스트하려고했지만 JavaFX 버전을 언급하는 것을 잊었습니다. 며칠 전에 릴리스 된 최신 2.0.3 안정 버전입니다 (그러나 초기 비 베타 2.0 및 2.0.1에도이 문제가있었습니다)


DirectoryChooser는 2.1 릴리스의 일부로 JavaFX에 추가 되었습니다 . 사용법은 다음과 같습니다.

DirectoryChooser chooser = new DirectoryChooser();
chooser.setTitle("JavaFX Projects");
File defaultDirectory = new File("c:/dev/javafx");
chooser.setInitialDirectory(defaultDirectory);
File selectedDirectory = chooser.showDialog(primaryStage);

이슈 트래커는 2.0GA 릴리스에 대한 해결 방법을 언급 : "민간 오라클 API 유리 액세스 방법 CommonDialogs.showFolderChooser".


JFileChooser가 폴더 및 개별 파일을 선택하는 데 사용되는 스윙과 달리 javafx에는 개별 파일을 선택하는 데 사용되는 FileChooser 클래스와 디렉토리 선택을위한 DirectoryChooser 클래스가 있습니다.

    DirectoryChooser directoryChooser = new DirectoryChooser();
    directoryChooser.setTitle("Open Resource File");
    directoryChooser.getExtensionFilters().addAll(
    new ExtensionFilter("Text Files", "*.txt"),
    new ExtensionFilter("Image Files", "*.png", "*.jpg", "*.gif"),
    new ExtensionFilter("Audio Files", "*.wav", "*.mp3", "*.aac"),
    new ExtensionFilter("All Files", "*.*"));
    File selectedFile = directoryChooser.showDialog(mainStage);
    if (selectedFile != null) {
          mainStage.display(selectedFile);
    }

디렉토리 선택기의 예입니다.

    FileChooser fileChooser = new FileChooser();
    fileChooser.setTitle("Open Folder");
    fileChooser.showDialog(stage);

파일 선택기의 예입니다.

참조 URL : https://stackoverflow.com/questions/9375938/javafx-filechooser

반응형