2016-12-21 1 views
0

Возможно ли создать объект JFileChooser, который ограничивает выбранные файлы определенным каталогом? Как и в, я не хочу, чтобы пользователь мог перемещаться в любом месте, кроме каталога, который я установил.Можно ли ограничить файлы доступными для определенного каталога с помощью JFileChooser?

В контексте я делаю простую игру, основанную на модели MVC, и которая имеет как командную строку, так и графический интерфейс. Хотя GUI является одним классом, я хотел бы, чтобы у пользователя была возможность использовать интерфейс командной строки для контроллера и GUI для представления, и наоборот. Для версии командной строки, которую я уже написал, я предоставил пользователю параметры listSavedGames(), loadSavedGame(String fileName) и saveGame(String fileName) (все они ограничены сохраненными играми в определенном каталоге, «сохраненными играми». решить, как я это сделал бы для версии GUI, которую я использую Swing для сборки. Я предполагаю, что пользователь может нажать на что-то вроде «Load/Save game», в котором перечислены сохраненные игры (listSavedGames()) и пустой текст в котором пользователь может предоставить строку, нажав или набрав, с кнопками для «Сохранить», «Загрузить» и «Отменить».

Я изучил JFileChooser, и хотя это помогло бы, действительно предоставляют функциональность для перечисления сохраненных игр, и я также не могу понять, как она будет показывать файлы в каталоге «сохраненные игры». Я видел, что вы можете установить объект JFileChooser только для отображения каталогов или даже какого-либо определенного типа файла, но это не то, что мне нужно.

Если ответ находится за пределами JFileChooser и заключается в создании пользовательского компонента, то любая помощь по этому вопросу будет также оценена. Заранее спасибо.

ответ

2

Вы можете создать пользовательский FileSytemView, который позволит вам указать только один корень файла.

Отъезд Single Root File Chooser для примера такого подхода.

Смежные вопросы