我的代码:
JFileChooser dialog = new JFileChooser();
dialog.showOpenDialog(rootPane);
dialog.setMultiSelectionEnabled(true);
dialog.setFileFilter(new FileFilter() {
@Override
public String getDescription() {
// TODO Auto-generated method stub
return null;
}
@Override
public boolean accept(File arg0) {
return arg0.getAbsolutePath().endsWith("png")||
arg0.getAbsolutePath().endsWith("jpg");
}
});
File[] file = dialog.getSelectedFiles();
程序运行时,我无法选择多个文件。
答案 0 :(得分:4)
在打开对话框之前必须先设置MultiSelection。
dialog.setMultiSelectionEnabled(true);
dialog.showOpenDialog(rootPane);
同样用于设置filefilter。
JFileChooser dialog = new JFileChooser();
dialog.setMultiSelectionEnabled(true);
dialog.setFileFilter(new FileFilter() {
@Override
public String getDescription() {
// TODO Auto-generated method stub
return null;
}
@Override
public boolean accept(File arg0) {
return arg0.getAbsolutePath().endsWith("png")
|| arg0.getAbsolutePath().endsWith("jpg");
}
});
dialog.showOpenDialog(rootPane);//open it last
File[] file = dialog.getSelectedFiles();
答案 1 :(得分:1)
您需要将dialog.setMultiSelectionEnabled(true);
移到dialog.showOpenDialog(rootPane);
之上才能使其发挥作用。此外,如果您不需要说明,则可以简化代码,如下所示。希望这会有所帮助。
`JFileChooser dialog = new JFileChooser();
dialog.setMultiSelectionEnabled(true);
dialog.showOpenDialog(null);
dialog.addChoosableFileFilter(new FileNameExtensionFilter("pngFilter", "png"));
dialog.addChoosableFileFilter(new FileNameExtensionFilter("jpgFilter", "jpg"));
File[] file = dialog.getSelectedFiles();`