Example usage for javafx.stage FileChooser setInitialDirectory

List of usage examples for javafx.stage FileChooser setInitialDirectory

Introduction

In this page you can find the example usage for javafx.stage FileChooser setInitialDirectory.

Prototype

public final void setInitialDirectory(final File value) 

Source Link

Usage

From source file:org.beryx.viewreka.fxapp.Viewreka.java

public void selectStylesheet() {
    if (project == null)
        return;/*  w ww .j  ava 2  s .  c  om*/

    ProjectSettings projectSettings = project.getProjectSettingsManager().getSettings();

    GuiSettings guiSettings = guiSettingsManager.getSettings();
    File initialCssDir = guiSettings.getMostRecentProjectDir();
    String chartStylesheet = projectSettings.getProperty(PROP_CHART_STYLESHEET, null, true);
    if (chartStylesheet != null) {
        try {
            URL cssUrl = new URI(chartStylesheet).toURL();
            if ("file".equals(cssUrl.getProtocol())) {
                File cssDir = new File(cssUrl.getFile()).getParentFile();
                if (cssDir != null && cssDir.isDirectory()) {
                    initialCssDir = cssDir;
                }
            }
        } catch (Exception e) {
            log.warn("Unable to retrieve directory of '" + chartStylesheet + "'", e);
        }
    }

    FileChooser cssChooser = new FileChooser();
    cssChooser.setTitle("Select stylesheet");
    cssChooser.getExtensionFilters().addAll(new FileChooser.ExtensionFilter("CSS files", "*.css"),
            new FileChooser.ExtensionFilter("All files", "*.*"));
    cssChooser.setInitialDirectory(initialCssDir);
    File cssFile = cssChooser.showOpenDialog(getStage());
    if (cssFile != null && cssFile.isFile()) {
        try {
            String newChartStylesheet = cssFile.toURI().normalize().toURL().toExternalForm();
            projectSettings.setProperty(PROP_CHART_STYLESHEET, newChartStylesheet);
        } catch (Exception e) {
            Dialogs.error("Stylesheet error", "Cannot set the stylesheet '" + cssFile + "'.", e);
        }
    }
    project.getProjectSettingsManager().saveSettings();
    refreshViews();
}

From source file:org.beryx.viewreka.fxapp.Viewreka.java

public void openProject(boolean loadLastProject, boolean doOnlyViewUpdates) {
    GuiSettings guiSettings = guiSettingsManager.getSettings();

    File initialProjectDir = guiSettings.getMostRecentProjectDir();
    File projectFile = null;/*from   w w  w  .  ja v  a2  s .co  m*/
    if (loadLastProject) {
        File initialProject = null;
        List<String> recentProjectPaths = guiSettings.getRecentProjectPaths();
        if (!recentProjectPaths.isEmpty() && (initialProjectDir != null) && initialProjectDir.isDirectory()) {
            try {
                initialProject = new File(recentProjectPaths.get(0));
                if (!initialProject.isFile()) {
                    initialProject = null;
                }
            } catch (Exception e) {
                log.debug("Error creating project file", e);
                initialProject = null;
            }
        }
        projectFile = initialProject;
    } else {
        FileChooser projectChooser = new FileChooser();
        projectChooser.setTitle("Open Viewreka Project");
        projectChooser.getExtensionFilters().addAll(
                new FileChooser.ExtensionFilter("Viewreka files", "*.viewreka"),
                new FileChooser.ExtensionFilter("All files", "*.*"));
        projectChooser.setInitialDirectory(initialProjectDir);
        projectFile = projectChooser.showOpenDialog(getStage());
    }

    if (projectFile != null) {
        openProject(projectFile, doOnlyViewUpdates);
    }
}

From source file:net.rptools.tokentool.controller.TokenTool_Controller.java

private void saveToken() {
    FileChooser fileChooser = new FileChooser();

    try {/*w  w w. j a  v  a2s.c o m*/
        File tokenFile = fileSaveUtil.getFileName(false, useFileNumberingCheckbox.isSelected(),
                fileNameTextField.getText(), fileNameSuffixTextField);
        fileChooser.setInitialFileName(tokenFile.getName());
        if (tokenFile.getParentFile() != null)
            if (tokenFile.getParentFile().isDirectory())
                fileChooser.setInitialDirectory(tokenFile.getParentFile());
    } catch (IOException e1) {
        log.error("Error writing token!", e1);
    }

    fileChooser.getExtensionFilters().addAll(AppConstants.IMAGE_EXTENSION_FILTER);
    fileChooser.setTitle(I18N.getString("TokenTool.save.filechooser.title"));
    fileChooser.setSelectedExtensionFilter(AppConstants.IMAGE_EXTENSION_FILTER);

    File tokenSaved = fileChooser.showSaveDialog(saveOptionsPane.getScene().getWindow());

    if (tokenSaved == null)
        return;

    writeTokenImage(tokenSaved);

    updateFileNameTextField(FilenameUtils.getBaseName(tokenSaved.getName()));
    FileSaveUtil.setLastFile(tokenSaved);
    updateOverlayTreeViewRecentFolder(true);
}

From source file:UI.MainStageController.java

/**
 * exports the created table to a .csv file
 * uses a fileChooser to determine where to save the .csv file
 *
 * @param tableValues/*from w ww.j  av a  2  s. co m*/
 * @param isPValue
 */
private void exportTableToCSV(String[][] tableValues, boolean isPValue) {
    //We'll split up the table values into two parts - if we need correlations, we take the 0th one,
    // if we want p values, we take the 1st
    int splitNumber;
    splitNumber = isPValue ? 1 : 0;

    FileChooser chooser = new FileChooser();
    chooser.setInitialDirectory(new File((String) UserSettings.userSettings.get("defaultFileChooserLocation")));
    File outputFile = chooser.showSaveDialog(getPrimaryStage());
    try {
        BufferedWriter writer = new BufferedWriter(new FileWriter(outputFile));

        //Write names into first row
        writer.write(",");
        for (int i = 0; i < tableValues.length; i++) {
            writer.write(tableValues[i][0] + ",");
        }
        writer.write("\n");

        for (String[] tableRow : tableValues) {
            for (String s : tableRow) {
                String[] split = s.split("\n");

                //                    System.out.println(s + split.length);
                //                    for (String s1 : split) {
                //                        System.out.println(s1);
                //                    }
                if (split.length > 1)
                    writer.write(split[splitNumber] + ",");
                else
                    writer.write(split[0] + ",");
            }
            writer.write("\n");
        }

        writer.flush();
        writer.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

From source file:org.beryx.viewreka.fxapp.Viewreka.java

public void openFile() {
    if (project != null) {
        ProjectSettings projectSettings = project.getProjectSettingsManager().getSettings();
        if (getOpenFiles(projectSettings).size() >= MAX_OPEN_FILES) {
            Dialogs.error("Open File error", "Too many open files.", "Please close some of your open files.",
                    null);//  ww w.j a v  a 2 s  . c o m
            return;
        }
    }
    FileChooser fileChooser = new FileChooser();
    fileChooser.setTitle("Open file");
    fileChooser.getExtensionFilters().addAll(new FileChooser.ExtensionFilter("All files", "*.*"),
            new FileChooser.ExtensionFilter("Viewreka files", "*.viewreka"),
            new FileChooser.ExtensionFilter("SQL files", "*.sql"),
            new FileChooser.ExtensionFilter("CSS files", "*.css"));
    GuiSettings guiSettings = guiSettingsManager.getSettings();
    fileChooser.setInitialDirectory(guiSettings.getMostRecentProjectDir());
    File file = fileChooser.showOpenDialog(getScene().getWindow());
    openFile(file);
}

From source file:net.sourceforge.entrainer.gui.EntrainerFX.java

private FileChooser getLabFileChooser(String operation) {
    File labdir = getLabDir();//from   w  w w  .j a v a 2s . co m
    FileChooser chooser = new FileChooser();

    chooser.setInitialDirectory(labdir);
    chooser.setTitle(operation + " ESP Lab Settings");
    chooser.getExtensionFilters().add(new ExtensionFilter("ESP Lab Files", "*.lab"));
    return chooser;
}

From source file:org.beryx.viewreka.fxapp.Viewreka.java

public void exportChart() {
    ViewPane<?> viewPane = getCurrentViewPane();
    if (viewPane == null)
        return;/*from ww  w  . java  2 s .co m*/

    FileChooser fileChooser = new FileChooser();
    fileChooser.setTitle("Export chart");

    List<String> acceptedFormats = Arrays.asList("png", "gif");
    ObservableList<ExtensionFilter> extensionFilters = fileChooser.getExtensionFilters();
    acceptedFormats
            .forEach(ext -> extensionFilters.add(new FileChooser.ExtensionFilter("PNG files", "*." + ext)));
    GuiSettings guiSettings = guiSettingsManager.getSettings();
    String initialDirPath = guiSettings.getProperty(PROP_CHART_EXPORT_DIR,
            guiSettings.getMostRecentProjectDir().getAbsolutePath(), false);
    File initialDir = new File(initialDirPath);

    fileChooser.setInitialDirectory(initialDir);
    File file = fileChooser.showSaveDialog(getScene().getWindow());
    if (file == null)
        return;

    if (file.getParentFile() != null) {
        guiSettings.setProperty(PROP_CHART_EXPORT_DIR, file.getParent());
    }

    String extension = FilenameUtils.getExtension(file.getName()).toLowerCase();
    if (!acceptedFormats.contains(extension)) {
        extension = acceptedFormats.get(0);
    }

    WritableImage chartImage = viewPane.getChartImage();

    try {
        ImageIO.write(SwingFXUtils.fromFXImage(chartImage, null), extension, file);
    } catch (IOException e) {
        Dialogs.error("Chart export failed", "Cannot export the chart image", e);
    }
}

From source file:UI.MainStageController.java

/**
 * <h1>Lets the user choose a file / files to load.</h1>
 * Distinguishes which filetype is about to be loaded by the user
 * and calls the associated methods.//from  w  w  w  .j a v  a 2  s. c o m
 *
 * @param fileType Enum to differentiate which type of file is loaded by the user.
 */
private void openFiles(FileType fileType) {
    FileChooser fileChooser = new FileChooser();
    String fileChooserTitle = "Load from ";

    if ((Boolean) UserSettings.userSettings.get("isDefaultFileChooserLocation")) {
        setDefaultOpenDirectory(fileChooser);
    } else {
        fileChooser.setInitialDirectory(
                new File((String) UserSettings.userSettings.get("defaultFileChooserLocation")));
    }

    switch (fileType) {
    case taxonId2Count:
        fileChooser.setTitle(fileChooserTitle + "taxonId2Count file");
        break;
    case readName2TaxonId:
        fileChooser.setTitle(fileChooserTitle + "readName2TaxonId file");
        break;
    case biomV1:
        fileChooser.setTitle(fileChooserTitle + "biomV1 file");
        break;
    case biomV2:
        fileChooser.setTitle(fileChooserTitle + "biomV2 file");
        break;
    case qiime:
        fileChooser.setTitle(fileChooserTitle + "qiime file");
        break;
    }

    //Choose the file / files

    List<File> selectedFiles = fileChooser.showOpenMultipleDialog(getPrimaryStage());

    if (selectedFiles != null) {
        //Keeps every file that has been loaded before in a list to show only one alert
        //for multiple files
        ArrayList<String> namesOfAlreadyLoadedFiles = new ArrayList<>();
        for (File file : selectedFiles) {
            String foundFilePath = file.getAbsolutePath();
            if (LoadedData.getOpenFiles() != null && LoadedData.getOpenFiles().contains(foundFilePath)) {
                namesOfAlreadyLoadedFiles.add(file.getName());
            } else {
                switch (fileType) {
                case taxonId2Count:
                    addId2CountFileToTreeView(file);
                    break;
                case readName2TaxonId:
                    addReadName2TaxonIdFileToTreeView(file);
                    break;
                case biomV1:
                    addBiomV1FileToTreeView(file);
                    break;
                case biomV2:
                    addBiomV2FileToTreeView(file);
                    break;
                case qiime:
                    //TODO HANDLE METADATA PROVIDED BY QIIME
                    break;
                }
            }
        }
        //Shows an alert if the user chose to load one or multiple files
        //that have already been loaded before.
        if (namesOfAlreadyLoadedFiles.size() != 0) {
            showFileAlreadyLoadedAlert(namesOfAlreadyLoadedFiles);
        }
    }

}

From source file:view.FXApplicationController.java

@FXML
protected void exportHypnogrammAction() {
    FileChooser fileChooser = new FileChooser();

    //Open directory from existing directory 
    File dir = null;/*  w  w w .  j  a  v  a2  s . c  om*/
    dir = tools.Util.loadDir(new File(
            new File(getClass().getProtectionDomain().getCodeSource().getLocation().getPath()).getParentFile(),
            "LastDirectory.txt"));

    if (dir != null) {
        fileChooser.setInitialDirectory(dir);
    }

    //Set extension filter
    FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("TXT files (*.txt)", "*.txt");
    fileChooser.getExtensionFilters().add(extFilter);

    //Show save file dialog
    File file = fileChooser.showSaveDialog(primaryStage);

    Util.saveDir(file, new File(
            new File(getClass().getProtectionDomain().getCodeSource().getLocation().getPath()).getParentFile(),
            "LastDirectory.txt"));

    if (file != null) {
        featureController.saveFile(file);
    }
}

From source file:view.FXApplicationController.java

@FXML
protected void saveAsAction() {

    FileChooser fileChooser = new FileChooser();

    //Open directory from existing directory 
    File dir = null;/*  w  w  w. j  ava  2s  . c  o  m*/
    dir = tools.Util.loadDir(new File(
            new File(getClass().getProtectionDomain().getCodeSource().getLocation().getPath()).getParentFile(),
            "LastDirectory.txt"));

    if (dir != null) {
        fileChooser.setInitialDirectory(dir);
    }

    //Set extension filter
    FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("AS files (*.as)", "*.as");
    fileChooser.getExtensionFilters().add(extFilter);

    //Show save file dialog
    File file = fileChooser.showSaveDialog(primaryStage);

    Util.saveDir(file, new File(
            new File(getClass().getProtectionDomain().getCodeSource().getLocation().getPath()).getParentFile(),
            "LastDirectory.txt"));

    if (file != null) {
        featureModel.setProjectFile(file);
        ModelReaderWriterController modelReaderWriter = new ModelReaderWriterController(featureModel, file,
                true);
        modelReaderWriter.start();
    }

}