Java 6 中的 Swing 似乎不支持此功能。
目前,我能找到的打开此对话框的最简单方法是通过SWT,而不是Swing。SWT 的 FileDialog (javadoc) 会显示此对话框。以下是对 SWT 的文件对话框代码段的修改,以使用打开对话框而不是保存对话框。我知道这并不是您要查找的内容,但是您可以将其隔离到实用程序类中,并将swt.jar添加到该功能的类路径中。
import org.eclipse.swt.*;
import org.eclipse.swt.widgets.*;
public class SWTFileOpenSnippet {
public static void main (String [] args) {
Display display = new Display ();
Shell shell = new Shell (display);
// Don't show the shell.
//shell.open ();
FileDialog dialog = new FileDialog (shell, SWT.OPEN | SWT.MULTI);
String [] filterNames = new String [] {"All Files (*)"};
String [] filterExtensions = new String [] {"*"};
String filterPath = "c:\\";
dialog.setFilterNames (filterNames);
dialog.setFilterExtensions (filterExtensions);
dialog.setFilterPath (filterPath);
dialog.open();
System.out.println ("Selected files: ");
String[] selectedFileNames = dialog.getFileNames();
for(String fileName : selectedFileNames) {
System.out.println(" " + fileName);
}
shell.close();
while (!shell.isDisposed ()) {
if (!display.readAndDispatch ()) display.sleep ();
}
display.dispose ();
}
}