构建一个面板,在其中选择保存文件的位置

时间:2012-07-13 19:28:42

标签: java swing jfilechooser

我会构建一个面板,让我选择保存文件的位置。我阅读了java文档,我看到有一个名为文件选择器的swing组件,但我不知道如何使用它。我想要做的是选择保存文件的机器中的路径。

2 个答案:

答案 0 :(得分:2)

如何使用它?好吧,你只需要“使用它”!真!

这将创建您的FileChooser实例并将其设置为从用户的桌面文件夹开始:

JFileChooser fc = new JFileChooser(System.getProperty("user.home") + "/Desktop");

之后,您可以设置各种选项。在这种情况下,我将其设置为允许选择多个文件,并且仅设置“.xls”(Excel)文件:

fc.setMultiSelectionEnabled(true);

SelectionEnabled(true);
        FileFilter ff = new FileFilter() {

            @Override
            public boolean accept(File f) {
                if (f.isDirectory()) {
                    return true;
                }
                String extension = f.getName().substring(f.getName().lastIndexOf("."));
                if (extension != null) {
                    if (extension.equalsIgnoreCase(".xls")) {
                        return true;
                    } else {
                        return false;
                    }
                }
                return false;
            }

            @Override
            public String getDescription() {
                return "Arquivos Excel (\'.xls\')";
            }
        };
fc.setFileFilter(ff);

最后,我正在展示它并获得用户的选择和选择的文件:

File[] chosenFiles;
int choice = fc.showOpenDialog(fc);
        if (choice == JFileChooser.APPROVE_OPTION) {
            chosenFiles = fc.getSelectedFiles();
        } else {
        //User canceled. Do whatever is appropriate in this case.
        }

享受!祝你好运!

答案 1 :(得分:1)

这个tutorial直接来自Oracle网站,是开始学习FileChoosers的好地方。

final JFileChooser fc = new JFileChooser();
int returnVal = fc.showOpenDialog(this);

if (returnVal == JFileChooser.APPROVE_OPTION) {
    File file = fc.getSelectedFile();
    //This is where a real application would open the file.
    log.append("Opening: " + file.getName() + ".");
} else {
    log.append("Open command cancelled by user.");
}

上面的代码打开了一个FileChooser,并将所选文件存储在fc变量中。所选按钮(确定,取消等)存储在returnVal中。然后,您可以使用该文件执行任何操作。