我尝试使用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 ?
它指出:
如果文件选择器设置为允许多选,则返回选定文件的列表。
我没有看到您将文件选择器设置为允许多选的位置。
所以我猜如果你不允许多选,数组就不会被初始化。
您需要添加:
fileChooser.setMultiSelectionEnabled(true);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句