// License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.gui.widgets; import java.awt.Component; import java.io.File; import javax.swing.JFileChooser; import javax.swing.filechooser.FileFilter; /** * File chooser based on the Swing's {@link JFileChooser} implementation. * @since 7578 */ public class SwingFileChooser extends AbstractFileChooser { /** The JFileChooser which we use for this. */ private final JFileChooser jFileChooser; /** * Constructs a new {@code SwingFileChooser}. * @param file the current file/directory to point to */ public SwingFileChooser(File file) { jFileChooser = new JFileChooser(file); } @Override public void addChoosableFileFilter(FileFilter filter) { jFileChooser.addChoosableFileFilter(filter); } @Override public FileFilter[] getChoosableFileFilters() { return jFileChooser.getChoosableFileFilters(); } @Override public File getCurrentDirectory() { return jFileChooser.getCurrentDirectory(); } @Override public FileFilter getFileFilter() { return jFileChooser.getFileFilter(); } @Override public File getSelectedFile() { return jFileChooser.getSelectedFile(); } @Override public File[] getSelectedFiles() { return jFileChooser.getSelectedFiles(); } @Override public boolean isMultiSelectionEnabled() { return jFileChooser.isMultiSelectionEnabled(); } @Override public void setAcceptAllFileFilterUsed(boolean b) { jFileChooser.setAcceptAllFileFilterUsed(b); } @Override public void setCurrentDirectory(File f) { jFileChooser.setCurrentDirectory(f); } @Override public void setDialogTitle(String title) { jFileChooser.setDialogTitle(title); } @Override public void setFileFilter(FileFilter cff) { jFileChooser.setFileFilter(cff); } @Override public void setFileSelectionMode(int selectionMode) { jFileChooser.setFileSelectionMode(selectionMode); } @Override public void setMultiSelectionEnabled(boolean multiple) { jFileChooser.setMultiSelectionEnabled(multiple); } @Override public void setSelectedFile(File file) { jFileChooser.setSelectedFile(file); } @Override public int showOpenDialog(Component parent) { jFileChooser.setLocale(locale); return jFileChooser.showOpenDialog(parent); } @Override public int showSaveDialog(Component parent) { jFileChooser.setLocale(locale); return jFileChooser.showSaveDialog(parent); } }