我创建了一个接口,我想添加一个允许用户打开文件的函数。我正在使用AWT。我不明白如何使用FileDialog。你可以给我一个例子或一个很好的链接来解释这个吗?如何使用FileDialog?
回答
有几个代码示例here演示如何将它用于各种不同的任务。
也就是说,您可能需要退一步,检查awt是否是这里工作的最佳任务。当然有一些合理的理由将它用在swing/swt之类的东西上,但如果你刚开始使用Swing,IMO会是更好的选择(有更多的组件,更多的教程,它是一个更广泛需求的库来处理。这些天)
链接导致的所有三个代码示例都是完全相同的......(只是说,如果它们看起来相似,那么您并不疯狂......) – ArtOfWarfare
一个完整的代码示例,用文件过滤:
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);
这有助于很多,它比JFileChooser更快,遗憾的是它并没有很好地处理异常情况,'零'字让我沮丧。 – iKlsR
要通过@TheBronx添加到答案 - 对我来说,不工作在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"));
不能在Ubuntu上工作。这解决了它。 –
伟大的解决方案,但它不会在Windows上工作。 https://docs.oracle.com/javase/7/docs/api/java/awt/FileDialog.html#setFilenameFilter%28java.io.FilenameFilter%29 –
@KenoClayton True。我认为跨平台解决方案是使用'setFile'和'setFilenameFilter'。 –
- 1. FileDialog使用哪个目录?
- 2. 如何钩入tkinters FileDialog?
- 3. 问题使用FileDialog应用程序
- 4. 如何使用FileDialog导入选定的工作表?
- 5. FileDialog DoubleClick行为
- 6. qt filedialog目录
- 7. tkinter filedialog声明
- 8. FileDialog和复合
- 9. Python/cx_Freeze:askopenfile/askdirectory /// filedialog
- 10. JFileChooser与JDialog与FileDialog
- 11. 如何让Windows记住使用tkinter filedialog的最后一个目录?
- 12. 如何在Eclipse插件中以无模式方式使用JFace FileDialog?
- 13. Python 2.7 Tk filedialog调用外部程序
- 14. Word 2011中的FileDialog VBA
- 15. QML中的自定义FileDialog
- 16. 通过的FileDialog在MS Access
- 17. FileDialog过滤器 - LINQ concatination
- 18. filedialog,tkinter和打开文件
- 19. SWT FileDialog自定义设置
- 20. 使用awt FileDialog选择目录的问题
- 21. 插件开发:使用FileDialog创建新文件对话框
- 22. 在MacOS X上使用FileDialog代替文件和目录的JFileChooser
- 23. VBA使用filedialog来搜索,然后复制并粘贴
- 24. 如何使一个java FileDialog接受目录作为它在OS X中的FileType?
- 25. 如何在所需的目录中打开Filedialog
- 26. 如何从QML中的UNC路径设置FileDialog的文件夹?
- 27. 如何在已打开的FileDialog中选择文件
- 28. 如何根据下拉选项筛选FileDialog?
- 29. 当底部4GB满时FileDialog崩溃
- 30. Tkinter的进口FileDialog的错误
参见['FileDialogTest'](http://stackoverflow.com/questions/2914627/file-explorer-using-java-how-to-go-about-it/2914733#2914733)。 – trashgod