У меня следующий код, выполняемый при нажатии кнопки в 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 для всех, кому может понадобиться ответ в будущем.