Example usage for javafx.stage FileChooser FileChooser

List of usage examples for javafx.stage FileChooser FileChooser

Introduction

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

Prototype

FileChooser

Source Link

Usage

From source file:com.ggvaidya.scinames.ui.DataReconciliatorController.java

@FXML
private void exportToCSV(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(dataReconciliatorView.getStage());
    if (file != null) {
        CSVFormat format = CSVFormat.RFC4180;

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

        try {
            List<List<String>> dataAsTable = getDataAsTable();
            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:net.rptools.tokentool.controller.TokenTool_Controller.java

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

    try {/*from   w w  w.j ava2  s .  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:io.github.mzmine.modules.plots.msspectrum.MsSpectrumPlotWindowController.java

public void handleExportMSP(Event event) {
    FileChooser fileChooser = new FileChooser();
    fileChooser.setTitle("Export to MSP");
    fileChooser.getExtensionFilters().add(new ExtensionFilter("NIST MSP format", "*.msp"));

    // 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;//from  ww  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 {
            MspExportAlgorithm.exportSpectra(finalFile, spectra);
        } catch (Exception e) {
            MZmineGUI.displayMessage("Unable to export: " + e.getMessage());
            e.printStackTrace();
        }
    }).start();
}

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 .ja  v a2  s  .  c om

        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:acmi.l2.clientmod.l2smr.Controller.java

@FXML
private void exportSM() {
    List<Actor> actors = this.table.getSelectionModel().getSelectedItems().stream().map(Actor::clone)
            .collect(Collectors.toList());

    if (actors.isEmpty())
        return;//from   w  w w  .  ja  v  a2  s.c  o  m

    int xy = 18 | (20 << 8);
    try {
        xy = getXY(getMapsDir(), this.unrChooser.getSelectionModel().getSelectedItem());
    } catch (IOException e) {
        showAlert(Alert.AlertType.WARNING, "Export", null, "Couldn't read map coords, using default 18_20");
    }
    ImportExportDialog dlg = new ImportExportDialog(xy & 0xff, (xy >> 8) & 0xff);
    ButtonType response = dlg.showAndWait().orElse(null);
    if (response != ButtonType.OK)
        return;

    FileChooser fileChooser = new FileChooser();
    fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter("JSON", "*.json"));
    fileChooser.setTitle("Save");
    File file = fileChooser.showSaveDialog(getStage());
    if (file == null)
        return;

    longTask(progress -> {
        float x = dlg.getX(), y = dlg.getY(), z = dlg.getZ();
        double angle = dlg.getAngle();
        AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI * angle / 180, x, y);
        AffineTransform translate = AffineTransform.getTranslateInstance(-x, -y);

        for (int i = 0; i < actors.size(); i++) {
            progress.accept((double) i / actors.size());
            Actor o = actors.get(i);
            Point2D.Float point = new Point2D.Float(o.getX(), o.getY());
            rotate.transform(point, point);
            translate.transform(point, point);

            o.setX(point.x);
            o.setY(point.y);
            o.setZ(o.getZ() - z);
            if (o.getYaw() == null)
                o.setYaw(0);
            o.setYaw(((int) (o.getYaw() + angle * 0xFFFF / 360)) & 0xFFFF);
        }
        progress.accept(-1.0);

        L2Map map = new L2Map(x, y, z, actors);
        ObjectMapper objectMapper = new ObjectMapper();

        try (ByteArrayOutputStream baos = new ByteArrayOutputStream()) {
            objectMapper.writeValue(baos, map);

            try (OutputStream fos = new FileOutputStream(file)) {
                baos.writeTo(fos);
            }
        }
    }, e -> onException("Export failed", e));
}

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

public void handleExportTXT(Event event) {
    FileChooser fileChooser = new FileChooser();
    fileChooser.setTitle("Export to TXT");
    fileChooser.getExtensionFilters().add(new ExtensionFilter("TXT", "*.txt"));

    // 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  ww . j ava 2 s  .  c om*/

    // 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 {
            TxtExportAlgorithm.exportSpectra(finalFile, spectra);
        } catch (Exception e) {
            MZmineGUI.displayMessage("Unable to export: " + e.getMessage());
            e.printStackTrace();
        }
    }).start();
}

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;// ww w .j a  v a  2  s .com
    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.sourceforge.entrainer.gui.EntrainerFX.java

private FileChooser getLabFileChooser(String operation) {
    File labdir = getLabDir();//from  www  .  j  ava  2  s . c  o  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:acmi.l2.clientmod.l2smr.Controller.java

@FXML
private void importSM() {
    if (this.unrChooser.getSelectionModel().getSelectedItem() == null)
        return;/*from   w  ww .  j a  v a 2  s  .  co m*/

    FileChooser fileChooser = new FileChooser();
    fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter("JSON", "*.json"));
    fileChooser.setTitle("Open");
    File file = fileChooser.showOpenDialog(getStage());
    if (file == null)
        return;

    int xy = 18 | (20 << 8);
    try {
        xy = getXY(getMapsDir(), this.unrChooser.getSelectionModel().getSelectedItem());
    } catch (IOException e) {
        showAlert(Alert.AlertType.WARNING, "Import", null, "Couldn't read map coords, using default 18_20");
    }

    ImportExportDialog dlg = new ImportExportDialog(xy & 0xff, (xy >> 8) & 0xff);
    ButtonType response = dlg.showAndWait().orElse(null);
    if (response != ButtonType.OK)
        return;

    AffineTransform transform = AffineTransform.getRotateInstance(Math.PI * dlg.getAngle() / 180);

    ObjectMapper objectMapper = new ObjectMapper();
    try {
        L2Map map = objectMapper.readValue(file, L2Map.class);

        if (map.getStaticMeshes().isEmpty())
            return;

        longTask(progress -> {
            try (UnrealPackage up = new UnrealPackage(
                    new File(getMapsDir(), unrChooser.getSelectionModel().getSelectedItem()), false)) {
                up.addImportEntries(map.getStaticMeshes().stream().collect(
                        Collectors.toMap(Actor::getStaticMesh, a -> "Engine.StaticMesh", (o1, o2) -> o1)));

                for (int i = 0; i < map.getStaticMeshes().size(); i++) {
                    Actor actor = map.getStaticMeshes().get(i);

                    int newActorInd = StaticMeshActorUtil.addStaticMeshActor(up,
                            up.objectReferenceByName(actor.getStaticMesh(), c -> true), actor.getActorClass(),
                            true, true, oldFormat.isSelected());
                    UnrealPackage.ExportEntry newActor = (UnrealPackage.ExportEntry) up
                            .objectReference(newActorInd);

                    actor.setActorName(newActor.getObjectInnerFullName());
                    actor.setStaticMeshRef(up.objectReferenceByName(actor.getStaticMesh(), c -> true));

                    byte[] bytes = newActor.getObjectRawData();
                    Offsets offsets = StaticMeshActorUtil.getOffsets(bytes, up);

                    Point2D.Float point = new Point2D.Float(actor.getX(), actor.getY());
                    transform.transform(point, point);

                    actor.setX(dlg.getX() + point.x);
                    actor.setY(dlg.getY() + point.y);
                    actor.setZ(dlg.getZ() + actor.getZ());

                    actor.setYaw((actor.getYaw() + (int) (0xFFFF * dlg.getAngle() / 360)) & 0xFFFF);

                    StaticMeshActorUtil.setLocation(bytes, offsets, actor.getX(), actor.getY(), actor.getZ());
                    StaticMeshActorUtil.setRotation(bytes, offsets, actor.getPitch(), actor.getYaw(),
                            actor.getRoll());
                    if (actor.getScale3D() != null)
                        StaticMeshActorUtil.setDrawScale3D(bytes, offsets, actor.getScaleX(), actor.getScaleY(),
                                actor.getScaleZ());
                    if (actor.getScale() != null)
                        StaticMeshActorUtil.setDrawScale(bytes, offsets, actor.getScale());
                    if (actor.getRotationRate() != null)
                        StaticMeshActorUtil.setRotationRate(bytes, offsets, actor.getPitchRate(),
                                actor.getYawRate(), actor.getRollRate());
                    if (actor.getZoneRenderState() != null)
                        bytes = StaticMeshActorUtil.setZoneRenderState(bytes, offsets,
                                actor.getZoneRenderState());

                    newActor.setObjectRawData(bytes);

                    progress.accept((double) i / map.getStaticMeshes().size());
                }
            }

            Platform.runLater(() -> {
                String unr = unrChooser.getSelectionModel().getSelectedItem();
                Actor act = map.getStaticMeshes().get(map.getStaticMeshes().size() - 1);

                unrChooser.getSelectionModel().clearSelection();
                unrChooser.getSelectionModel().select(unr);

                table.getSelectionModel().select(act);
                table.scrollTo(act);
            });
        }, e -> onException("Import failed", e));
    } catch (IOException e) {
        onException("Import failed", e);
    }
}

From source file:com.bekwam.resignator.ResignatorAppMainViewController.java

@FXML
public void browseSource() {
    if (logger.isDebugEnabled()) {
        logger.debug("[BROWSE SOURCE]");
    }//from  w  ww .j  a v  a2 s.com

    clearValidationErrors();

    switch (activeProfile.getArgsType()) {
    case JAR:
        FileChooser fileChooser = new FileChooser();
        fileChooser.setTitle("Select Source JAR");
        fileChooser.setInitialDirectory(new File(jarDir));
        fileChooser.getExtensionFilters().addAll(new FileChooser.ExtensionFilter("JAR", "*.jar"));

        File f = fileChooser.showOpenDialog(stage);
        if (f != null) {
            if (logger.isDebugEnabled()) {
                logger.debug("[BROWSE SOURCE] selected file={}", f.getAbsolutePath());
            }
            tfSourceFile.setText(f.getAbsolutePath());

            jarDir = FilenameUtils.getFullPath(f.getAbsolutePath());
        }
        break;
    case FOLDER:
        DirectoryChooser dirChooser = new DirectoryChooser();
        dirChooser.setTitle("Select Source Folder");
        dirChooser.setInitialDirectory(new File(jarDir));

        File d = dirChooser.showDialog(stage);
        if (d != null) {
            if (logger.isDebugEnabled()) {
                logger.debug("[BROWSE SOURCE] selected dir={}", d.getAbsolutePath());
            }
            tfSourceFile.setText(d.getAbsolutePath());

            jarDir = FilenameUtils.getFullPath(d.getAbsolutePath());
        }
        break;
    }
}