Ограничение JFileChooser определенным каталогом
Мне нужно ограничить JFileChooser
в каталог и его дочерние элементы, потому что файл должен быть сохранен только на внешнем носителе. Я не буду сталкиваться с проблемами при отсутствии внешней памяти, которая уже была обработана.
Нужно ли мне...
- Override
getCurrentDirectory()
? - Использовать
FileFilter
? Обычно они используютString.endsWith()
, но я бы получил абсолютный путь и ограничил на основе пути к внешнему устройству.
1 ответ
Я бы абсолютно избежал реализации таких ограничений. Это почти невозможно сделать правильно (как вы можете надежно определить, что такое внешнее хранилище?). Это идет вразрез с ожиданиями пользователей.
Лучшим подходом было бы позволить пользователю выбрать любой каталог, который ему нравится, и, когда вы обнаружите, что каталог, вероятно, не подходит, выведите предупреждение с подробным описанием причин, по которым он не подходит. Предложите два варианта предупреждения: "Понятно, все равно продолжай" и "Выбрать другой каталог". И, возможно, опция отключения предупреждения где-то в настройках программы.