Example usage for javafx.stage FileChooser showSaveDialog

List of usage examples for javafx.stage FileChooser showSaveDialog

Introduction

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

Prototype

public File showSaveDialog(final Window ownerWindow) 

Source Link

Document

Shows a new file save dialog.

Usage

From source file:io.github.mzmine.modules.plots.msspectrum.MsSpectrumPlotWindowController.java

public void handleExportMzML(Event event) {

    FileChooser fileChooser = new FileChooser();
    fileChooser.setTitle("Export to mzML");
    fileChooser.getExtensionFilters().add(new ExtensionFilter("mzML", "*.mzML"));

    // Remember last directory
    if (lastSaveDirectory != null && lastSaveDirectory.isDirectory())
        fileChooser.setInitialDirectory(lastSaveDirectory);

    // Show the file chooser
    File file = fileChooser.showSaveDialog(chartNode.getScene().getWindow());

    // If nothing was chosen, quit
    if (file == null)
        return;//  w  w  w.  j a v  a 2  s .  c o m

    // Save the last open directory
    lastSaveDirectory = file.getParentFile();

    final List<MsSpectrum> spectra = new ArrayList<>();
    for (MsSpectrumDataSet dataset : datasets) {
        spectra.add(dataset.getSpectrum());
    }

    // Do the export in a new thread
    final File finalFile = file;

    new Thread(() -> {
        try {
            // Create a temporary raw data file
            DataPointStore tmpStore = DataPointStoreFactory.getMemoryDataStore();
            RawDataFile tmpRawFile = MSDKObjectBuilder.getRawDataFile("Exported spectra", null,
                    FileType.UNKNOWN, tmpStore);
            int scanNum = 1;
            for (MsSpectrumDataSet dataset : datasets) {
                MsSpectrum spectrum = dataset.getSpectrum();
                MsScan newScan;
                if (spectrum instanceof MsScan) {
                    newScan = MsScanUtil.clone(tmpStore, (MsScan) spectrum, true);
                } else {
                    MsFunction msf = MSDKObjectBuilder.getMsFunction(MsFunction.DEFAULT_MS_FUNCTION_NAME);
                    newScan = MSDKObjectBuilder.getMsScan(tmpStore, scanNum, msf);
                }
                tmpRawFile.addScan(newScan);
            }
            MzMLFileExportMethod exporter = new MzMLFileExportMethod(tmpRawFile, finalFile);
            exporter.execute();
            tmpRawFile.dispose();
        } catch (Exception e) {
            MZmineGUI.displayMessage("Unable to export: " + e.getMessage());
            e.printStackTrace();
        }
    }).start();

}

From source file:io.github.mzmine.modules.plots.msspectrum.MsSpectrumPlotWindowController.java

public void handleExportMGF(Event event) {

    FileChooser fileChooser = new FileChooser();
    fileChooser.setTitle("Export to MGF");
    fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter("Mascot Generic Format", "*.mgf"));

    // Remember last directory
    if (lastSaveDirectory != null && lastSaveDirectory.isDirectory())
        fileChooser.setInitialDirectory(lastSaveDirectory);

    // Show the file chooser
    File file = fileChooser.showSaveDialog(chartNode.getScene().getWindow());

    // If nothing was chosen, quit
    if (file == null)
        return;/* w w  w .jav  a2s .  c  o  m*/

    // Save the last open directory
    lastSaveDirectory = file.getParentFile();

    final List<MsSpectrum> spectra = new ArrayList<>();
    for (MsSpectrumDataSet dataset : datasets) {
        spectra.add(dataset.getSpectrum());
    }

    // Do the export in a new thread
    final File finalFile = file;
    new Thread(() -> {
        try {
            MgfFileExportMethod mgfEx = new MgfFileExportMethod(spectra, finalFile);
            mgfEx.execute();
        } catch (Exception e) {
            MZmineGUI.displayMessage("Unable to export: " + e.getMessage());
            e.printStackTrace();
        }
    }).start();
}

From source file:com.ggvaidya.scinames.dataset.DatasetSceneController.java

private void exportToCSV(TableView tv, ActionEvent evt) {
    FileChooser chooser = new FileChooser();
    chooser.getExtensionFilters().setAll(new FileChooser.ExtensionFilter("CSV file", "*.csv"),
            new FileChooser.ExtensionFilter("Tab-delimited file", "*.txt"));
    File file = chooser.showSaveDialog(datasetView.getStage());
    if (file != null) {
        CSVFormat format = CSVFormat.RFC4180;

        String outputFormat = chooser.getSelectedExtensionFilter().getDescription();
        if (outputFormat.equalsIgnoreCase("Tab-delimited file"))
            format = CSVFormat.TDF;/*  w  w  w . j a v a 2 s . c  o  m*/

        try {
            List<List<String>> dataAsTable = getDataAsTable(tv);
            fillCSVFormat(format, new FileWriter(file), dataAsTable);

            Alert window = new Alert(Alert.AlertType.CONFIRMATION,
                    "CSV file '" + file + "' saved with " + (dataAsTable.get(0).size() - 1) + " rows.");
            window.showAndWait();

        } catch (IOException e) {
            Alert window = new Alert(Alert.AlertType.ERROR, "Could not save CSV to '" + file + "': " + e);
            window.showAndWait();
        }
    }
}

From source file:cz.lbenda.gui.controls.TextAreaFrmController.java

@Override
public void initialize(URL url, ResourceBundle resourceBundle) {
    textEditor = new TextEditor();
    mainPane.setCenter(textEditor.createCodeArea());
    text.addListener((observer, oldValue, newValue) -> textEditor.changeText(newValue));

    FileChooser fileChooser = new FileChooser();
    fileChooser.getExtensionFilters().addAll(Constants.allFilesFilter);
    btnLoad.setOnAction(event -> {/*from w  ww.ja  va2  s.  c o m*/
        fileChooser.setTitle(msgLoadFile_title);
        if (lastFile != null) {
            fileChooser.setInitialDirectory(lastFile.getParentFile());
        }
        File file = fileChooser.showOpenDialog(mainPane.getScene().getWindow());
        if (file != null) {
            lastFile = file;
            try (FileReader reader = new FileReader(file)) {
                textEditor.changeText(IOUtils.toString(reader));
            } catch (IOException e) {
                ExceptionMessageFrmController
                        .showException("The file " + lastFile.getAbsolutePath() + " isn't openable.", e);
            }
        }
    });
    btnSave.setOnAction(event -> {
        File file = lastFile;
        if (lastFile == null) {
            fileChooser.setTitle(msgSaveFile_title);
            file = fileChooser.showSaveDialog(mainPane.getScene().getWindow());
        }
        if (file != null) {
            lastFile = file;
            try (OutputStream writer = new FileOutputStream(lastFile)) {
                IOUtils.copy(IOUtils.toInputStream(textEditor.getText()), writer);
            } catch (IOException e) {
                ExceptionMessageFrmController
                        .showException("The file " + lastFile.getAbsolutePath() + " isn't writable.", e);
            }
        }
    });
    btnSaveAs.setOnAction(event -> {
        fileChooser.setTitle(msgSaveFile_title);
        if (lastFile != null) {
            fileChooser.setInitialDirectory(lastFile.getParentFile());
        }
        File file = fileChooser.showSaveDialog(mainPane.getScene().getWindow());
        if (file != null) {
            lastFile = file;
            try (OutputStream writer = new FileOutputStream(lastFile)) {
                IOUtils.copy(IOUtils.toInputStream(textEditor.getText()), writer);
            } catch (IOException e) {
                ExceptionMessageFrmController
                        .showException("The file " + lastFile.getAbsolutePath() + " isn't writable.", e);
            }
        }
    });

    btnCancel.setOnAction(event -> ((Stage) btnCancel.getScene().getWindow()).close());
    btnOk.setOnAction(event -> {
        text.setValue(textEditor.getText());
        ((Stage) btnCancel.getScene().getWindow()).close();
    });

    textType.getSelectionModel().select(0);
    textType.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> {
        if ("Plain".equals(newValue)) {
            textEditor.changeHighlighter(new HighlighterPlain());
        } else if ("SQL".equals(newValue)) {
            textEditor.changeHighlighter(new HighlighterSQL());
        } else if ("XML".equals(newValue)) {
            textEditor.changeHighlighter(new HighlighterXml());
        } else if ("Java".equals(newValue)) {
            textEditor.changeHighlighter(new HighlighterJava());
        }
    });
}

From source file:de.ks.text.AsciiDocEditor.java

@FXML
void saveToFile() {
    FileChooser fileChooser = new FileChooser();

    FileChooser.ExtensionFilter htmlFilter = new FileChooser.ExtensionFilter("html", "html");
    FileChooser.ExtensionFilter adocFilter = new FileChooser.ExtensionFilter("adoc", "adoc");

    fileChooser.getExtensionFilters().add(htmlFilter);
    fileChooser.getExtensionFilters().add(adocFilter);
    if (lastFile != null) {
        fileChooser.setInitialDirectory(lastFile.getParentFile());
        fileChooser.setInitialFileName(lastFile.getName());
        if (lastFile.getName().endsWith(".html")) {
            fileChooser.setSelectedExtensionFilter(htmlFilter);
        } else {/*from  w  ww  .  ja  va2  s.c  o  m*/
            fileChooser.setSelectedExtensionFilter(adocFilter);
        }
    } else {
        fileChooser.setInitialFileName("export.html");
    }

    File file = fileChooser.showSaveDialog(saveToFileButton.getScene().getWindow());
    if (file == null) {
        return;
    }
    this.lastFile = file;
    String extension = fileChooser.getSelectedExtensionFilter().getExtensions().get(0);
    if (!file.getName().endsWith(extension)) {
        file = new File(file.getPath() + extension);
    }

    if (extension.endsWith("adoc")) {
        try {
            Files.write(editor.getText(), file, Charsets.UTF_8);
        } catch (IOException e) {
            log.error("Could not write file {}", file, e);
        }
    } else {
        this.parser.renderToFile(editor.getText(), AsciiDocBackend.HTML5, file);
    }
}

From source file:com.ggvaidya.scinames.dataset.BinomialChangesSceneController.java

private void exportToCSV(TableView tv, ActionEvent evt) {
    FileChooser chooser = new FileChooser();
    chooser.getExtensionFilters().setAll(new FileChooser.ExtensionFilter("CSV file", "*.csv"),
            new FileChooser.ExtensionFilter("Tab-delimited file", "*.txt"));
    File file = chooser.showSaveDialog(binomialChangesView.getStage());
    if (file != null) {
        CSVFormat format = CSVFormat.RFC4180;

        String outputFormat = chooser.getSelectedExtensionFilter().getDescription();
        if (outputFormat.equalsIgnoreCase("Tab-delimited file"))
            format = CSVFormat.TDF;// w  ww  . jav a  2 s.co m

        try {
            List<List<String>> dataAsTable = getDataAsTable(tv);
            fillCSVFormat(format, new FileWriter(file), dataAsTable);

            Alert window = new Alert(Alert.AlertType.CONFIRMATION,
                    "CSV file '" + file + "' saved with " + (dataAsTable.get(0).size() - 1) + " rows.");
            window.showAndWait();

        } catch (IOException e) {
            Alert window = new Alert(Alert.AlertType.ERROR, "Could not save CSV to '" + file + "': " + e);
            window.showAndWait();
        }
    }
}

From source file:org.jevis.jeconfig.plugin.classes.ClassTree.java

public void fireEventExport(ObservableList<TreeItem<JEVisClass>> items) {

    FileChooser fileChooser = new FileChooser();
    fileChooser.setTitle("Save JEVisClasses to File");
    fileChooser.getExtensionFilters().addAll(new ExtensionFilter("JEVis Files", "*.jev"),
            new ExtensionFilter("All Files", "*.*"));

    DateTime now = DateTime.now();/* ww  w. j a v  a  2  s.  co  m*/
    DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyyMMdd");
    if (items.size() > 1) {
        fileChooser.setInitialFileName("JEViClassExport_" + fmt.print(now) + ".jev");
    } else {
        try {
            fileChooser.setInitialFileName(items.get(0).getValue().getName() + "_" + fmt.print(now) + ".jev");
        } catch (JEVisException ex) {
            Logger.getLogger(ClassTree.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    File selectedFile = fileChooser.showSaveDialog(JEConfig.getStage());
    if (selectedFile != null) {
        List<JEVisClass> classes = new ArrayList<>();
        for (TreeItem<JEVisClass> item : items) {
            classes.add(item.getValue());
        }

        String extension = FilenameUtils.getExtension(selectedFile.getName());
        if (extension.isEmpty()) {
            selectedFile = new File(selectedFile.getAbsoluteFile() + ".jsv");
        }

        ClassExporter ce = new ClassExporter(selectedFile, classes);
        //            mainStage.display(selectedFile);
    }
}

From source file:com.cdd.bao.editor.EditSchema.java

public void actionFileSave(boolean promptNew) {
    pullDetail();/*from   ww w .  j  av  a2s. com*/

    // dialog in case filename is missing or requested as save-to-other
    if (promptNew || schemaFile == null) {
        FileChooser chooser = new FileChooser();
        chooser.setTitle("Save Schema Template");
        if (schemaFile != null)
            chooser.setInitialDirectory(schemaFile.getParentFile());

        File file = chooser.showSaveDialog(stage);
        if (file == null)
            return;

        if (!file.getName().endsWith(".ttl"))
            file = new File(file.getAbsolutePath() + ".ttl");

        schemaFile = file;
        updateTitle();
    }

    // validity checking
    if (schemaFile == null)
        return;
    if (!schemaFile.getAbsoluteFile().getParentFile().canWrite()
            || (schemaFile.exists() && !schemaFile.canWrite())) {
        Util.informMessage("Cannot Save", "Not able to write to file: " + schemaFile.getAbsolutePath());
        return;
    }

    // serialise-to-file
    Schema schema = stack.peekSchema();
    try {
        //schema.serialise(System.out);

        OutputStream ostr = new FileOutputStream(schemaFile);
        ModelSchema.serialise(schema, ostr);
        ostr.close();

        stack.setDirty(false);
    } catch (Exception ex) {
        ex.printStackTrace();
    }
}

From source file:com.cdd.bao.editor.EditSchema.java

public void actionFileExportDump() {
    if (!Vocabulary.globalInstance().isLoaded())
        return;/*from w  ww .  j a  v  a2  s  .c o m*/

    pullDetail();

    FileChooser chooser = new FileChooser();
    chooser.setTitle("Export Schema Dump");
    if (schemaFile != null)
        chooser.setInitialDirectory(schemaFile.getParentFile());
    chooser.setInitialFileName("vocab.dump");

    File file = chooser.showSaveDialog(stage);
    if (file == null)
        return;

    // when overwriting a file, bring up a preview that shows the differences between before & after, and asks for
    // confirmation before replacing it
    if (file.exists()) {
        try {
            new CompareVocabTree(file, stack.getSchema()).show();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        return;
    }

    Schema[] schemaList = new Schema[] { stack.getSchema() };
    SchemaVocab sv = new SchemaVocab(Vocabulary.globalInstance(), schemaList);

    Util.writeln("-------------------------");
    sv.debugSummary();
    Util.writeln("-------------------------");

    try {
        OutputStream ostr = new FileOutputStream(file);
        sv.serialise(ostr);
        ostr.close();
    } catch (IOException ex) {
        ex.printStackTrace();
    }

    String msg = "Written to [" + file.getAbsolutePath() + "]. Size: " + file.length();
    Util.informWarning("Export", msg);
}

From source file:genrsa.GenRSAController.java

/**
 * Mtodo usado cuando se pulsa el boton de generarLog de NNC
 * @param event //from   ww w. j av a 2s. com
 */
public void generateNNC(ActionEvent event) {

    if (this.startLogNNC) {

        //todo se hace antes del thread porque si no nose podria manejar la ventana
        //para que se decidiera donde se guarda el archivo.
        FileChooser.ExtensionFilter extensionFilter = new FileChooser.ExtensionFilter("HTML files", "*.html");
        FileChooser fileChooser = new FileChooser();
        fileChooser.setInitialDirectory(new File(System.getProperty("user.dir")));
        fileChooser.getExtensionFilters().add(extensionFilter);
        fileChooser.setTitle("Seleccionar directorio donde guardar el log");
        fileChooser.setInitialFileName("LogNNC genRSA");
        File logNNCFile = fileChooser.showSaveDialog(labelPubKey.getScene().getWindow());

        Task CAstart = new Task() {
            @Override
            protected Object call() throws Exception {
                startLogNNC = false;
                progressNNC.setVisible(true);
                Platform.runLater(() -> {
                    disableOnProgress(true);
                    configureLogStop(true);
                });

                manageKey.saveLogNNC(progressNNC, RSA, logNNCFile);

                Platform.runLater(() -> {
                    disableOnProgress(false);
                    configureLogStop(false);
                });
                progressNNC.setVisible(false);
                startLogNNC = true;
                return null;
            }
        };

        new Thread(CAstart).start();

    } else {
        this.manageKey.setLogCancelled();
        this.startLogNNC = true;
    }
}