package xmltool.utils;
import java.io.File;
import javafx.stage.FileChooser;
import javafx.stage.Stage;
public class FileChooserUtil {
private static final FileChooser fileChooser = new FileChooser();
public static void setFilter(String label, String pattern) {
fileChooser.getExtensionFilters().retainAll(new FileChooser.ExtensionFilter(label, pattern));
fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter(label, pattern));
}
public static void setFilter(String label, String[] patternArray) {
fileChooser.getExtensionFilters().retainAll(new FileChooser.ExtensionFilter(label, patternArray));
fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter(label, patternArray));
}
public static void addFilter(String label, String pattern) {
fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter(label, pattern));
}
public static File getFile(Stage stage) {
File toReturn = fileChooser.showOpenDialog(stage);
if (toReturn != null) {
fileChooser.setInitialDirectory(toReturn.getParentFile());
DirectoryChooserUtil.presetInitialPath(toReturn.getParentFile());
}
return toReturn;
}
protected static void presetInitialPath(File initial) {
fileChooser.setInitialDirectory(initial);
}
protected static File getInitialPath() {
return fileChooser.getInitialDirectory();
}
}