我创建了一个界面,我想添加一个允许用户打开文件的功能。我正在使用AWT。我不明白如何使用FileDialog。你能给我一个例子或一个很好的链接来解释这个吗?
答案 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将是一个更好的选择(有更多的组件,更多的教程,它是一个更广泛要求的库,可以使用它这些天。)