Отключить скрытые файлы с помощью FileChooser из JavaFX
Я разрабатываю Java-приложение с использованием JavaFX для него.
Когда я использую класс FileChooser для загрузки CSV файла с жесткого диска компьютера в Os X Mavericks, в диалоговом окне отображаются все файлы и папки, даже скрытые, которые создают много шума и делают очень трудным найти желаемый файл.
Этот снимок экрана иллюстрирует то, о чем я говорю:
![enter image description here]()
Я думаю, что это может быть скорее проблемой OS X, но я не понимаю, как исправить, по крайней мере, я не понимаю, как я могу исправить это с помощью класса JavaFX FileChooser.
Здесь мой код:
Stage stage = new Stage();
FileChooser fileChooser = new FileChooser();
fileChooser.setTitle("Open File");
fileChooser.getExtensionFilters().addAll(
new FileChooser.ExtensionFilter("Comma-Separated Values (CSV)", "*.csv")
);
fileChooser.setInitialDirectory(
new File(System.getProperty("user.home"))
);
File selectedFile = fileChooser.showOpenDialog(stage);
Обновление
Это мода Google Chrome для открытия файлов.
![enter image description here]()
Ответы
Ответ 1
Посмотрев на источники...
FileChooser
реализуется поверх собственных диалогов и полностью не настраивается.
Итак, нет, вы не можете заставить диалог показывать/скрывать скрытые файлы.
Внутри диалога FileChooser
должен быть элемент контекстного меню, чтобы отображать/скрывать их,
но вы не можете управлять этой опцией из приложения
Например, вот как выглядит Linux:
![FileChooser context menu]()
Ответ 2
Вы пытались скрывать все скрытые файлы в Finder
-программе на компьютере OS X? Итак: не используя JavaFX, но используя программу Finder?
Ответ 3
Я знаю, что это уже поздно, но ни один из ответов не объясняет ситуацию для MacOS.
Диалоги открытия/сохранения в JavaFX являются встроенным диалогом (реализованы как "листы" ). Подобно тому, как у Finder нет опции "показать скрытые файлы", эти диалоги также не отображаются. Существует несколько решений:
-
Относительно неизвестные сочетания клавиш, доступные с Mavericks: Просмотр скрытых файлов в Mac Откройте и сохраните диалоговые окна. (Я просто наткнулся на это, я всегда использовал № 2 ниже.)
-
Переключатель командной строки в терминале:
- show hidden →
defaults write com.apple.finder AppleShowAllFiles YES
, или
- hide →
defaults write com.apple.finder AppleShowAllFiles NO
Ваш пользователь должен быть достаточно осведомлен об этих альтернативах; вы не можете настроить собственный диалог открытия/сохранения, чтобы предоставить кнопку для этого.