Java FilenameExtensionFilter не работает правильно - PullRequest
1 голос
/ 20 апреля 2020

Я пытаюсь создать утилиту, в которой пользователь должен иметь возможность выбирать только файлы ".pdf", и ничего больше. Это мой код:

JFileChooser jfc = new JFileChooser(FileSystemView.getFileSystemView().getHomeDirectory());
       // jfc.setFileFilter(filter);
        jfc.addChoosableFileFilter(new FileNameExtensionFilter("*.pdf", "pdf"));

        int returnValue = jfc.showOpenDialog(null);
        // int returnValue = jfc.showSaveDialog(null);

        if (returnValue == JFileChooser.APPROVE_OPTION) {
            File selectedFile = jfc.getSelectedFile();
            System.out.println(selectedFile.getAbsolutePath());
        }

Но проблема в том, что диалоговое окно выбора файлов также предоставляет опцию «Все файлы», которая разрушает работу. Я хочу, чтобы пользователь выбирал только файлы .pdf. Как этого добиться?

1 Ответ

1 голос
/ 20 апреля 2020

Если кто-то сталкивается с такой проблемой, как я, есть только один луч надежды. Вместе с FileNameExtensionFilter мы должны использовать JFileChooser.setAcceptAllFileFilterUsed(false);.

...