使用 FileDialog 选择特定扩展名的文件

发布于 2024-07-30 06:33:57 字数 805 浏览 11 评论 0原文

我正在尝试使用 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);

由于某种原因,我的文件选择器不允许我选择任何文件。 有任何想法吗?

I am trying to use a FileDialog file chooser because I really need java app to have the native apple file chooser (I know we all hate hate the lack of portability but this is what I need). I am trying to make my file chooser allow the user to pick files that end with .ws. Here is what I tried:

            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);

For some reason my file chooser won't allow me to pick any files. Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

娜些时光,永不杰束 2024-08-06 06:33:57

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

Answer was I need this call: System.setProperty("apple.awt.fileDialogForDirectories", "false");

请别遗忘我 2024-08-06 06:33:57

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

Why not use 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";
    }
}
月棠 2024-08-06 06:33:57

这不是以前问过的吗?

不管怎样,你可以尝试改变L&F并继续使用JFileChooser。

我听说这个很好:

Quaqua 外观

替代文字

Haven't this been asked before?

Anyway, you may try to change L&F and keep using JFileChooser.

I've heard this one is good:

Quaqua Look and Feel

alt text

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文