List of usage examples for javafx.stage FileChooser FileChooser
FileChooser
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; } }