Выбор ТОЛЬКО папок в JFileChooser

241
15 июля 2017, 07:13

Пытался запретить выбор файлов (можно выбирать только файлы) путем функции JFileChooser.DIRECTORIES_ONLY:

public void actionPerformed(ActionEvent e) {
    Object src = e.getSource();
    JFileChooser jfc = new JFileChooser();
    if(src == parent.jb1) {
        a = jfc.showDialog(null, "Open directory");
        jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        if(a == JFileChooser.APPROVE_OPTION) {
            File file = jfc.getCurrentDirectory();
            str = file.getAbsolutePath();
        }
    }
}

Однако попытка не удалась, окно выводит файлы с расширением .jpg

Answer 1

Вы просто сказали, что можно выбирать директории. Чтобы отфильтровать директории нужно использовать setFileFilter

jfc.setFileFilter(new FileFilter() {
    @Override
    public boolean accept(File f) {
        return f.isDirectory();
    }
    @Override
    public String getDescription() {
        return "";
    }
});

Если применить к вашему коду, то получиться вот так

public void actionPerformed(ActionEvent e) {
    Object src = e.getSource();
    JFileChooser jfc = new JFileChooser();
    // показывать только директории
    jfc.setFileFilter(new FileFilter() {
        @Override
        public boolean accept(File f) {
            return f.isDirectory();
        }
        @Override
        public String getDescription() {return "";}
    });
    // выбирать только директории
    jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
    if(src == parent.jb1) {
        a = jfc.showDialog(null, "Open directory");
        if(a == JFileChooser.APPROVE_OPTION) {
            File file = jfc.getCurrentDirectory();
            str = file.getAbsolutePath();
        }
    }
}
READ ALSO
Android 6.0+ не сохраняет изображения

Android 6.0+ не сохраняет изображения

Проблема такая, на версиях андройд меньше 60 все отлично работает, но на 6

366
Мобильная разработка под android [требует правки]

Мобильная разработка под android [требует правки]

Решил начать заниматься mobile dev'ом, в связи с этим назрел вопрос: какие технологии нужно выучить, для того чтобы:

327
Заливка файла на FTP средствами java

Заливка файла на FTP средствами java

Хочу научиться заливать файл на ftp сервер, но не выходитИспользую Apache commons net API

350
Не удаляются дубликаты в LinkedHashSet

Не удаляются дубликаты в LinkedHashSet

не пойму почему не удаляются дубликаты при добавлении в Set,я читаю из файла, там есть некий код, который группируется в Листах

224