Как сказать javafx.stage.DirectoryChooser в Windows 10, чтобы он прекратил использовать несколько каталогов Documents? - PullRequest
0 голосов
/ 12 мая 2019

Я хотел бы использовать только один каталог «Documents», когда я использую javafx DirectoryChooser в Windows 10 и использую «C: \ Users \ Tim \ Documents» в setInitialDirectory ().У меня есть второй каталог «Documents» в «One Drive», и Windows настаивает на том, что оба каталога C: \ и One Drive должны быть показаны.

Сначала получите абсолютный путь к каталогу из этого кода JavaFX:

DirectoryChooser directoryChooser = new DirectoryChooser();
File directory = directoryChooser.showDialog(this.getStage());
String useThis = directory.getAbsolutePath()

По умолчанию в Windows показано множество альтернатив, включая несколько каталогов документов, дисков, сетевых расположений,и так далее.Я могу выбрать «C: \ Users \ Tim \ Documents» и посмотреть строку, которую я хочу.Пока все хорошо.

В следующий раз я захочу снова выбрать, где я остановился:

DirectoryChooser directoryChooser = new DirectoryChooser();
// Already did .exists() and .isDirectory() for C:\Users\Tim\Documents
File initialDir = AppMain.getInstance().getLastDirectoryOpened();
directoryChooser.setInitialDirectory(initialDir);
File directory = directoryChooser.showDialog(this.getStage());

Вместо того, чтобы бросать пользователя прямо в каталог "C: \", Windowsпоказывает как каталог C: \ Users \ Tim \ Documents, так и второй каталог Documents, который у меня есть на OneDrive.Похоже, что Windows отбрасывает путь к файлу.Если я щелкаю в своей локальной папке «Документы», я снова получаю «C: \ Users \ Tim \ Documents».

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...