-2

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

4

2 回答 2

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.
        }

享受!还有祝你好运!

于 2012-07-13T19:40:37.840 回答
1

教程直接来自 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. 然后,您可以对文件做任何您想做的事情。

于 2012-07-13T19:34:59.273 回答