Установите каталог программы в качестве начального каталога JavaFX FileChooser

Я использую JavaFX. Я хотел бы запустить FileChooser из каталога программы, поэтому начальным репозиторием должен быть репозиторий программы.

Вот моя декларация FileChooser:

FileChooser chooser = new FileChooser();
chooser.getExtensionFilters().addAll(
new ExtensionFilter("Text Files", "*.txt"),
new ExtensionFilter("All Files", "*.*"));
chooser.setTitle("Choisir un fichier");
file = chooser.showOpenDialog(new Stage());

Как я могу это сделать?


person Joker 00    schedule 16.05.2017    source источник
comment
на этот вопрос уже дан ответ здесь. Вы также можете просмотреть документацию по Java. Метод, который вы ищете, это setInitialDirectory (значение файла).   -  person alvaro    schedule 16.05.2017
comment
Не было. В ответе, который вы даете, рассказывается, как установить каталог пользователя в качестве исходного каталога. Это не мой вопрос.   -  person Joker 00    schedule 16.05.2017
comment
Что означает каталог программы?   -  person James_D    schedule 16.05.2017
comment
Каталог, в котором находится исполняемый файл программы.   -  person Joker 00    schedule 16.05.2017
comment
stackoverflow.com/questions/320542/ ???   -  person fabian    schedule 16.05.2017
comment
Чертовски легко. Я думал, ты можешь догадаться. Реж это .   -  person alvaro    schedule 17.05.2017


Ответы (1)


Текущий каталог ".". Вот как вы можете это сделать:

FileChooser chooser = new FileChooser();
String currentPath = Paths.get(".").toAbsolutePath().normalize().toString();
chooser.setInitialDirectory(new File(currentPath));
chooser.showOpenDialog(new Stage());

Изменить: узел Stage или javafx, который вы должны передать FileChooser, — это тот, который вы хотите сделать его родителем.

person alvaro    schedule 17.05.2017