如何使用FileDialog?

时间:2011-08-26 22:20:55

标签: java awt

我创建了一个界面,我想添加一个允许用户打开文件的功能。我正在使用AWT。我不明白如何使用FileDialog。你能给我一个例子或一个很好的链接来解释这个吗?

3 个答案:

答案 0 :(得分:32)

完整的代码示例,带文件过滤:

FileDialog fd = new FileDialog(yourJFrame, "Choose a file", FileDialog.LOAD);
fd.setDirectory("C:\\");
fd.setFile("*.xml");
fd.setVisible(true);
String filename = fd.getFile();
if (filename == null)
  System.out.println("You cancelled the choice");
else
  System.out.println("You chose " + filename);

答案 1 :(得分:9)

要添加@TheBronx的答案 - 对我来说,fd.setFile("*.txt");无法在OS X上运行。这有效:

fd.setFilenameFilter(new FilenameFilter() {
    @Override
    public boolean accept(File dir, String name) {
        return name.endsWith(".txt");
    }
});

或者作为一个花哨的Java 8 lambda:

fd.setFilenameFilter((dir, name) -> name.endsWith(".txt"));

答案 2 :(得分:3)

有一些代码示例here,演示了如何将它用于各种不同的任务。

那就是说,你可能想退后一步,检查awt是否是这里工作的最佳任务。当然,有一些正当理由可以将它用于swing / swt之类的东西,但如果你刚刚开始使用Swing,那么IMO将是一个更好的选择(有更多的组件,更多的教程,它是一个更广泛要求的库,可以使用它这些天。)