Использование FileDialog для выбора файла с определенным расширением

Я пытаюсь использовать средство выбора файлов FileDialog, потому что мне действительно нужно Java-приложение, чтобы иметь собственный инструмент выбора файлов Apple (я знаю, что все мы ненавидим отсутствие переносимости, но это то, что мне нужно). Я пытаюсь сделать так, чтобы мой инструмент выбора файлов позволял пользователю выбирать файлы, заканчивающиеся на.ws. Вот что я попробовал:

            FileDialog fd = new         

           FileDialog(_sharedInstance,rsc.str("480"),FileDialog.LOAD);
           // fd.setFile("*.ws");
            class WSFilter implements FilenameFilter {
                public boolean accept(File dir, String name) {
                    return (name.endsWith(".ws"));
                }
            };
            FilenameFilter wsFilter = new WSFilter();

            fd.setFilenameFilter(wsFilter);
            fd.setDirectory(_projectsBaseDir.getPath());
            fd.setLocation(50,50);

           // fd.setFile("*");
            fd.setVisible(true);

По какой-то причине программа выбора файлов не позволяет мне выбирать файлы. Есть идеи?

3 ответа

Решение

Ответ был мне нужен этот вызов: System.setProperty("apple.awt.fileDialogForDirectories", "false");

Разве это не спрашивали раньше?

В любом случае, вы можете попытаться изменить L&F и продолжать использовать JFileChooser.

Я слышал, это хорошо:

Quaqua Look and Feel

альтернативный текст

Почему бы не использовать JFileChooser?

JFileChooser fileChooser = new JFileChooser(new File(filename));
fileChooser.addChoosableFileFilter(new MyFilter());

class MyFilter extends javax.swing.filechooser.FileFilter {
    public boolean accept(File file) {
        String filename = file.getName();
        return filename.endsWith(".java");
    }
    public String getDescription() {
        return "*.java";
    }
}
Другие вопросы по тегам