我創建了一個接口,我想添加一個允許用戶打開文件的函數。我正在使用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提供文件擴展名列表?
- 6. 如何在沒有窗口的情況下使用tkinter filedialog
- 7. 使用FileDialog選擇文件名
- 8. FileDialog和複合
- 9. 開放的FileDialog
- 10. Python/cx_Freeze:askopenfile/askdirectory /// filedialog
- 11. FileDialog DoubleClick行爲
- 12. tkinter filedialog聲明
- 13. FileDialog的例外
- 14. 的Tkinter的FileDialog
- 15. qt filedialog目錄
- 16. 獲取的FileDialog InitialDirectory
- 17. JFileChooser與JDialog與FileDialog
- 18. 如何讓Windows記住使用tkinter filedialog的最後一個目錄?
- 19. 如何在Eclipse插件中以無模式方式使用JFace FileDialog?
- 20. SWT FileDialog錯誤:構造函數FileDialog未定義
- 21. Python 2.7 Tk filedialog調用外部程序
- 22. Java - FileDialog問題/幫助
- 23. QML中的自定義FileDialog
- 24. SWT FileDialog自定義設置
- 25. Word 2011中的FileDialog VBA
- 26. FileDialog ShowModal後MessageDialog無響應
- 27. FileDialog過濾器 - LINQ concatination
- 28. SWT FileDialog中的PathMustExists和FileMustExists
- 29. Tkinter無法找到filedialog?
- 30. 最新的FileDialog類路徑
參見['FileDialogTest'](http://stackoverflow.com/questions/2914627/file-explorer-using-java-how-to-go-about-it/2914733#2914733)。 – trashgod