JFileChooser
Создать окно выбора файла JFileChooser:
JFileChooser fc = new JFileChooser();
здесь будет открыт текущий каталог.
Задать каталог, который будет открыт можно так:
JFileChooser fc = new JFileChooser(tfCatalog.getText());
здесь в качестве аргумента передаём строку с именем каталога.
Задаём режим показа файлов и каталогов:
fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
Отображать скрытые файлы:
fc.setFileHidingEnabled(false);
Получить выбранный файл:
Установить фильтр для файлов, которые будут показаны в окне:
здесь есть возможность для пользователя выбрать любой из этих фильтров. Класс фильтра должен расширять класс FileFilter и реализовать два его метода: accept и getDescription. Метод accept проверяет расширение файла, а getDescription задаёт строку, которая будет видна в выпадающем списке возможных расширений.
Получаем
такой результат.