package com.baselet.diagram.io; import java.awt.Frame; import java.io.File; import java.util.ArrayList; import java.util.List; import javax.swing.JFileChooser; import javax.swing.filechooser.FileFilter; import com.baselet.control.config.Config; import com.baselet.control.enums.Program; public class OpenFileChooser { private JFileChooser fileChooser; public OpenFileChooser() { fileChooser = new JFileChooser(Config.getInstance().getOpenFileHome()); fileChooser.setMultiSelectionEnabled(true); fileChooser.setFileFilter(new FileFilter() { @Override public boolean accept(File f) { return f.getName().endsWith("." + Program.getInstance().getExtension()) || f.isDirectory(); } @Override public String getDescription() { return Program.getInstance().getProgramName() + " diagram format (*." + Program.getInstance().getExtension() + ")"; } }); fileChooser.setAcceptAllFileFilterUsed(false); } public List<String> getFilesToOpen(Frame mainFrame) { List<String> fileNames = new ArrayList<String>(); int returnVal = fileChooser.showOpenDialog(mainFrame); if (returnVal == JFileChooser.APPROVE_OPTION) { File[] selectedFiles = fileChooser.getSelectedFiles(); for (File file : selectedFiles) { fileNames.add(file.getAbsolutePath()); } } return fileNames; } }