gpt4 book ai didi

java - Mac 上的 JFileChooser 不返回文件

转载 作者:行者123 更新时间:2023-12-02 10:40:22 27 4
gpt4 key购买 nike

我尝试使用 JFileChooser 获取一个 File 数组,其中可以包含 .png 或 .svg 数据类型的文件。除此之外,有时窗口打不开,我没有得到结果。如果我想使用返回的数组,我会得到一个 ArrayIndexOutOfBoundsException 异常。所需的行为是打开一个 JFrame,并且您可以从 .svg 或 .png 数据类型中选择一个或多个文件。所选文件应保存在数组文件中。

public class DataExplorer {

public static File[] start() {

FileFilter filter = new FileNameExtensionFilter("Images ", "png", "svg");
JFileChooser fileChooser = new JFileChooser();
fileChooser.addChoosableFileFilter(filter);
int returnVal = fileChooser.showOpenDialog(null);

if (returnVal == JFileChooser.APPROVE_OPTION) {
return fileChooser.getSelectedFiles();
}

else {
System.out.println("Fail");
return null;
}
}
}

public static void main(String[] args) throws HeadlessException, Exception {
File[] file = start();
System.out.println(file[0].getPath());

}

最佳答案

return fileChooser.getSelectedFiles();

查看 getSelectedFiles() 方法的 API?

它指出:

Returns a list of selected files if the file chooser is set to allow multiple selection.

我没有看到您在哪里设置文件选择器以允许多项选择。

所以我猜测如果您不允许多重选择,则数组未初始化。

您需要添加:

fileChooser.setMultiSelectionEnabled(true);

关于java - Mac 上的 JFileChooser 不返回文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52951940/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com