使用FileDialog选择某个扩展名的文件

时间:2009-08-07 20:29:44

标签: java filedialog filechooser

我正在尝试使用FileDialog文件选择器,因为我真的需要java应用程序来拥有原生苹果文件选择器(我知道我们都讨厌讨厌缺乏可移植性但这是我需要的)。我试图让我的文件选择器允许用户选择以.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 个答案:

答案 0 :(得分:3)

答案是我需要这个调用:System.setProperty(“apple.awt.fileDialogForDirectories”,“false”);

答案 1 :(得分:1)

为什么不使用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";
    }
}

答案 2 :(得分:1)

以前没有问过这个吗?

无论如何,您可以尝试更改L& F并继续使用JFileChooser。

我听说这个很好:

Quaqua Look and Feel

alt text