FXML filechooser не удалось открыть - PullRequest
0 голосов
/ 21 сентября 2019

У меня следующий код, выполняемый при нажатии кнопки в Java с использованием FXML

void run(){
            FileChooser fc = new FileChooser();
            FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("MP4 files (*.mp4)", "*.mp4");
            fc.getExtensionFilters().add(extFilter);
            fc.setInitialDirectory(videoFile);
            videoFile = fc.showOpenDialog(stage);

}

При первом вызове этого кода он работает, как задумано, открывая диалоговое окно выбора файла в окнах и возвращая дескриптороднако файл, если я пытаюсь открыть новый файл с тем же кодом, ничего не происходит, и эта ошибка выдается.

Причина: java.lang.IllegalArgumentException: параметр папки должен быть допустимой папкой

Что, по-видимому, указывает на то, что он сразу не может открыть диалоговое окно.Кто-нибудь знает причину этого и возможное исправление?

Редактировать:

Я неправильно вызывал setInitialDirectory для всех, кому может понадобиться ответ в будущем.

1 Ответ

2 голосов
/ 21 сентября 2019

Причина: java.lang.IllegalArgumentException: параметр папки должен быть допустимой папкой

Значение, переданное setInitialDirectory, должно быть каталогом.Кажется, videoFile это файл, а не каталог / папка.

...