54

我想在 java 中创建一个“打开”和“保存”对话框。我想要的一个例子如下图所示:

打开:

打开文件对话框

节省:

保存文件对话框

我该怎么做呢?

4

6 回答 6

64

你想使用一个JFileChooser对象。它将打开并且是模态的,并在打开它的线程中阻塞,直到您选择一个文件。

打开:

JFileChooser fileChooser = new JFileChooser();
if (fileChooser.showOpenDialog(modalToComponent) == JFileChooser.APPROVE_OPTION) {
  文件文件 = fileChooser.getSelectedFile();
  // 从文件加载
}

节省:

JFileChooser fileChooser = new JFileChooser();
if (fileChooser.showSaveDialog(modalToComponent) == JFileChooser.APPROVE_OPTION) {
  文件文件 = fileChooser.getSelectedFile();
  // 保存到文件
}

您可以设置更多选项来设置文件扩展名过滤器或当前目录。有关详细信息,请参阅 API javax.swing.JFileChooser。Oracle 网站上还有一个“如何使用文件选择器”页面:

http://download.oracle.com/javase/tutorial/uiswing/components/filechooser.html

于 2010-08-23T13:49:34.637 回答
39

我建议调查javax.swing.JFileChooser

这是一个站点,其中包含一些同时用作“打开”和“保存”的示例。 http://www.java2s.com/Code/Java/Swing-JFC/DemonstrationofFiledialogboxes.htm

这将比为自己实施要少得多。

于 2010-08-23T13:46:55.470 回答
3

也许您可以看一下JFileChooser,它允许您在一行代码中使用本机对话框。

于 2010-08-23T13:48:01.893 回答
2

您可以在 Java 教程中找到对文件对话框的介绍。Java2s 也有一些示例代码

于 2010-08-23T13:47:05.780 回答
2

首先,您需要通过 Oracle 的教程来学习如何在 Java 中进行基本的 I/O

之后,您将需要查看有关如何使用文件选择器的教程。

于 2010-08-23T13:47:58.777 回答
0

您可能还想考虑使用 SWT(另一个 Java GUI 库)的可能性。每种方法的优缺点如下:

Java 桌面应用程序:SWT 与 Swing

于 2010-08-23T13:50:48.713 回答