List of usage examples for javafx.stage FileChooser showSaveDialog
public File showSaveDialog(final Window ownerWindow)
From source file:com.chart.SwingChart.java
/** * /*from w w w. j a v a2 s . com*/ * @param name Chart name * @param parent Skeleton parent * @param axes Configuration of axes * @param abcissaName Abcissa name */ public SwingChart(String name, final Skeleton parent, List<AxisChart> axes, String abcissaName) { this.skeleton = parent; this.axes = axes; this.name = name; this.abcissaFormat = NumberFormat.getInstance(Locale.getDefault()); this.ordinateFormat = NumberFormat.getInstance(Locale.getDefault()); plot = new XYPlot(); plot.setBackgroundPaint(scene2awtColor(javafx.scene.paint.Color.web(strChartBackgroundColor))); plot.setDomainGridlinePaint(scene2awtColor(javafx.scene.paint.Color.web(strGridlineColor))); plot.setRangeGridlinePaint(scene2awtColor(javafx.scene.paint.Color.web(strGridlineColor))); plot.setAxisOffset(new RectangleInsets(5.0, 5.0, 5.0, 5.0)); abcissaAxis = new NumberAxis(abcissaName); ((NumberAxis) abcissaAxis).setAutoRangeIncludesZero(false); abcissaAxis.setTickLabelFont(new Font("SansSerif", Font.PLAIN, 12)); abcissaAxis.setLabelFont(new Font("SansSerif", Font.PLAIN, 12)); abcissaAxis.setLabelPaint(scene2awtColor(javafx.scene.paint.Color.web(strTickColor))); abcissaAxis.setTickLabelPaint(scene2awtColor(javafx.scene.paint.Color.web(strTickColor))); abcissaAxis.setAutoRange(true); abcissaAxis.setLowerMargin(0.0); abcissaAxis.setUpperMargin(0.0); abcissaAxis.setTickLabelsVisible(true); abcissaAxis.setLabelFont(abcissaAxis.getLabelFont().deriveFont(fontSize)); abcissaAxis.setTickLabelFont(abcissaAxis.getLabelFont().deriveFont(fontSize)); plot.setDomainAxis(abcissaAxis); for (int i = 0; i < axes.size(); i++) { AxisChart categoria = axes.get(i); addAxis(categoria.getName()); for (int j = 0; j < categoria.configSerieList.size(); j++) { SimpleSeriesConfiguration cs = categoria.configSerieList.get(j); addSeries(categoria.getName(), cs); } } chart = new JFreeChart("", new Font("SansSerif", Font.BOLD, 16), plot, false); chart.setBackgroundPaint(scene2awtColor(javafx.scene.paint.Color.web(strBackgroundColor))); chartPanel = new ChartPanel(chart); chartPanel.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4), BorderFactory.createLineBorder(scene2awtColor(javafx.scene.paint.Color.web(strBackgroundColor))))); chartPanel.getInputMap().put(KeyStroke.getKeyStroke("ESCAPE"), "escape"); chartPanel.getActionMap().put("escape", new AbstractAction() { @Override public void actionPerformed(java.awt.event.ActionEvent e) { for (int i = 0; i < plot.getDatasetCount(); i++) { XYDataset test = plot.getDataset(i); XYItemRenderer r = plot.getRenderer(i); r.removeAnnotations(); } } }); chartPanel.addChartMouseListener(cml = new ChartMouseListener() { @Override public void chartMouseClicked(ChartMouseEvent event) { } @Override public void chartMouseMoved(ChartMouseEvent event) { try { XYItemEntity xyitem = (XYItemEntity) event.getEntity(); // get clicked entity XYDataset dataset = (XYDataset) xyitem.getDataset(); // get data set double x = dataset.getXValue(xyitem.getSeriesIndex(), xyitem.getItem()); double y = dataset.getYValue(xyitem.getSeriesIndex(), xyitem.getItem()); final XYPlot plot = chart.getXYPlot(); for (int i = 0; i < plot.getDatasetCount(); i++) { XYDataset test = plot.getDataset(i); XYItemRenderer r = plot.getRenderer(i); r.removeAnnotations(); if (test == dataset) { NumberAxis ejeOrdenada = AxesList.get(i); double y_max = ejeOrdenada.getUpperBound(); double y_min = ejeOrdenada.getLowerBound(); double x_max = abcissaAxis.getUpperBound(); double x_min = abcissaAxis.getLowerBound(); double angulo; if (y > (y_max + y_min) / 2 && x > (x_max + x_min) / 2) { angulo = 3.0 * Math.PI / 4.0; } else if (y > (y_max + y_min) / 2 && x < (x_max + x_min) / 2) { angulo = 1.0 * Math.PI / 4.0; } else if (y < (y_max + y_min) / 2 && x < (x_max + x_min) / 2) { angulo = 7.0 * Math.PI / 4.0; } else { angulo = 5.0 * Math.PI / 4.0; } CircleDrawer cd = new CircleDrawer((Color) r.getSeriesPaint(xyitem.getSeriesIndex()), new BasicStroke(2.0f), null); //XYAnnotation bestBid = new XYDrawableAnnotation(dataset.getXValue(xyitem.getSeriesIndex(), xyitem.getItem()), dataset.getYValue(xyitem.getSeriesIndex(), xyitem.getItem()), 11, 11, cd); String txt = "X:" + abcissaFormat.format(x) + ", Y:" + ordinateFormat.format(y); XYPointerAnnotation anotacion = new XYPointerAnnotation(txt, dataset.getXValue(xyitem.getSeriesIndex(), xyitem.getItem()), dataset.getYValue(xyitem.getSeriesIndex(), xyitem.getItem()), angulo); anotacion.setTipRadius(10.0); anotacion.setBaseRadius(35.0); anotacion.setFont(new Font("SansSerif", Font.PLAIN, 10)); if (Long.parseLong((strChartBackgroundColor.replace("#", "")), 16) > 0xffffff / 2) { anotacion.setPaint(Color.black); anotacion.setArrowPaint(Color.black); } else { anotacion.setPaint(Color.white); anotacion.setArrowPaint(Color.white); } //bestBid.setPaint((Color) r.getSeriesPaint(xyitem.getSeriesIndex())); r.addAnnotation(anotacion); } } //LabelValorVariable.setSize(LabelValorVariable.getPreferredSize()); } catch (NullPointerException | ClassCastException ex) { } } }); chartPanel.setPopupMenu(null); chartPanel.setBackground(scene2awtColor(javafx.scene.paint.Color.web(strBackgroundColor))); SwingNode sn = new SwingNode(); sn.setContent(chartPanel); chartFrame = new VBox(); chartFrame.getChildren().addAll(sn, legendFrame); VBox.setVgrow(sn, Priority.ALWAYS); VBox.setVgrow(legendFrame, Priority.NEVER); chartFrame.getStylesheets().addAll(SwingChart.class.getResource("overlay-chart.css").toExternalForm()); legendFrame.setStyle("marco: " + strBackgroundColor + ";-fx-background-color: marco;"); MenuItem mi; mi = new MenuItem("Print"); mi.setOnAction((ActionEvent t) -> { print(chartFrame); }); contextMenuList.add(mi); sn.setOnMouseClicked((MouseEvent t) -> { if (menu != null) { menu.hide(); } if (t.getClickCount() == 2) { backgroundEdition(); } }); mi = new MenuItem("Copy to clipboard"); mi.setOnAction((ActionEvent t) -> { copyClipboard(chartFrame); }); contextMenuList.add(mi); mi = new MenuItem("Export values"); mi.setOnAction((ActionEvent t) -> { FileChooser fileChooser = new FileChooser(); fileChooser.setTitle("Export to file"); fileChooser.getExtensionFilters() .addAll(new FileChooser.ExtensionFilter("Comma Separated Values", "*.csv")); Window w = null; try { w = parent.getScene().getWindow(); } catch (NullPointerException e) { } File file = fileChooser.showSaveDialog(w); if (file != null) { export(file); } }); contextMenuList.add(mi); chartFrame.setOnContextMenuRequested((ContextMenuEvent t) -> { if (menu != null) { menu.hide(); } menu = new ContextMenu(); menu.getItems().addAll(contextMenuList); menu.show(chartFrame, t.getScreenX(), t.getScreenY()); }); }
From source file:net.sourceforge.entrainer.gui.EntrainerFX.java
private void showSaveLabSettings() { FileChooser chooser = getLabFileChooser("Save"); File labfile = chooser.showSaveDialog(null); if (labfile != null) saveLab(labfile);//ww w .j a va2s . c o m }
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 w w . j av a2 s.c o 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 exportChart() { ViewPane<?> viewPane = getCurrentViewPane(); if (viewPane == null) return;//from w ww . ja v a 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:net.rptools.tokentool.controller.TokenTool_Controller.java
private void saveToken() { FileChooser fileChooser = new FileChooser(); try {/*from w w w . j a va2 s . co 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:view.FXApplicationController.java
@FXML protected void exportHypnogrammAction() { FileChooser fileChooser = new FileChooser(); //Open directory from existing directory File dir = null;//from 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;/*from w w w. j av a 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(); } }
From source file:de.bayern.gdi.gui.Controller.java
/** * Handle config saving.//w ww . j av a 2 s . c o m * * @param event The event. */ @FXML protected void handleSaveConfig(ActionEvent event) { extractStoredQuery(); extractBoundingBox(); extractCql(); if (validateInput() && validateCqlInput()) { FileChooser fileChooser = new FileChooser(); DirectoryChooser dirChooser = new DirectoryChooser(); File downloadDir; File initDir; dirChooser.setTitle(I18n.getMsg("gui.save-dir")); if (downloadConfig == null) { downloadDir = dirChooser.showDialog(getPrimaryStage()); String basedir = Config.getInstance().getServices().getBaseDirectory(); initDir = new File(basedir.isEmpty() ? System.getProperty(USER_DIR) : basedir); File uniqueName = Misc.uniqueFile(downloadDir, "config", "xml", null); fileChooser.setInitialFileName(uniqueName.getName()); } else { File downloadInitDir = new File(downloadConfig.getDownloadPath()); if (!downloadInitDir.exists()) { downloadInitDir = new File(System.getProperty(USER_DIR)); } dirChooser.setInitialDirectory(downloadInitDir); downloadDir = dirChooser.showDialog(getPrimaryStage()); String path = downloadConfig.getFile().getAbsolutePath(); path = path.substring(0, path.lastIndexOf(File.separator)); initDir = new File(path); fileChooser.setInitialFileName(downloadConfig.getFile().getName()); } fileChooser.setInitialDirectory(initDir); FileChooser.ExtensionFilter xmlFilter = new FileChooser.ExtensionFilter("xml files (*.xml)", "*.xml"); fileChooser.getExtensionFilters().add(xmlFilter); fileChooser.setSelectedExtensionFilter(xmlFilter); fileChooser.setTitle(I18n.getMsg("gui.save-conf")); File configFile = fileChooser.showSaveDialog(getPrimaryStage()); if (configFile == null) { return; } if (!configFile.toString().endsWith(".xml")) { configFile = new File(configFile.toString() + ".xml"); } this.dataBean.setProcessingSteps(extractProcessingSteps()); String savePath = downloadDir.getPath(); DownloadStep ds = dataBean.convertToDownloadStep(savePath); try { ds.write(configFile); } catch (IOException ex) { log.warn(ex.getMessage(), ex); } } }
From source file:snpviewer.SnpViewer.java
public void drawPaneToPng() { if (chromosomeSelector.getSelectionModel().isEmpty()) { return;/*from ww w . ja va2 s .c om*/ } FileChooser fileChooser = new FileChooser(); FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("PNG Image Files (*.png)", "*.png"); fileChooser.getExtensionFilters().add(extFilter); fileChooser.setTitle("Save View as Image (.png) File..."); File pngFile = fileChooser.showSaveDialog(mainWindow); if (pngFile == null) { return; } else if (!pngFile.getName().endsWith(".png")) { pngFile = new File(pngFile.getAbsolutePath() + ".png"); } WritableImage image = chromSplitPane.snapshot(null, null); if (image == null) { Dialogs.showErrorDialog(null, "Error attempting to convert" + " dynamic view to image file", "PNG conversion failed", "SNP Viewer"); return; } try { ImageIO.write(SwingFXUtils.fromFXImage(image, null), "png", pngFile); Dialogs.showInformationDialog(null, "Sucessfully saved current view " + "to " + pngFile.getName(), "Image Saved", "SNP Viewer"); } catch (IOException ex) { Dialogs.showErrorDialog(null, "Error attempting to convert" + " dynamic view to image file", "PNG conversion failed", "SNP Viewer", ex); } }
From source file:snpviewer.SnpViewer.java
public void saveColours(ActionEvent e) { FileChooser fileChooser = new FileChooser(); fileChooser.setTitle("Save Colour Scheme (.svcols) As..."); FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("SNP Viewer Colour Scheme", "*.svcols"); fileChooser.getExtensionFilters().add(extFilter); File colorFile = fileChooser.showSaveDialog(mainWindow); if (colorFile != null) { if (!colorFile.getName().endsWith(".svcols")) { colorFile = new File(colorFile.getAbsolutePath() + ".svcols"); }/*from w w w . j a v a 2 s. c o m*/ try { FileOutputStream fos = new FileOutputStream(colorFile); try (ObjectOutputStream out = new ObjectOutputStream(new BufferedOutputStream(fos))) { for (Color c : colorComp) { out.writeObject(c.toString()); } out.close(); projectLabel.setText("Project: " + projectFile.getName()); } } catch (IOException ex) { Dialogs.showErrorDialog(null, "Could not save colour scheme - IO error", "Save Failed", "SNP Viewer", ex); } } }