Revision: 5921 http://sourceforge.net/p/jump-pilot/code/5921 Author: ma15569 Date: 2018-08-22 15:28:45 +0000 (Wed, 22 Aug 2018) Log Message: ----------- Add generic save view to image of JPanel in a JScrollPane
Modified Paths: -------------- core/trunk/src/org/openjump/sextante/gui/additionalResults/AdditionalResultsFrame.java Modified: core/trunk/src/org/openjump/sextante/gui/additionalResults/AdditionalResultsFrame.java =================================================================== --- core/trunk/src/org/openjump/sextante/gui/additionalResults/AdditionalResultsFrame.java 2018-08-22 15:24:29 UTC (rev 5920) +++ core/trunk/src/org/openjump/sextante/gui/additionalResults/AdditionalResultsFrame.java 2018-08-22 15:28:45 UTC (rev 5921) @@ -454,8 +454,43 @@ } else if (returnVal == JFileChooser.CANCEL_OPTION) { return; } + } + // [Giuseppe Aruta 2018-08-22] add generic save view to + // image of JPanel in a JScrollPane + else if (view instanceof JPanel) { + final JPanel panel = (JPanel) pane.getViewport() + .getView(); + final int w = panel.getWidth(); + final int h = panel.getHeight(); + final BufferedImage bi = new BufferedImage(w, h, + BufferedImage.TYPE_INT_RGB); + final Graphics2D g = bi.createGraphics(); + panel.paint(g); + + filter = new FileNameExtensionFilter( + "Portable Network Graphics (png)", "png"); + final JFileChooser fc = new GUIUtil.FileChooserWithOverwritePrompting( + "png"); + fc.setFileFilter(filter); + fc.addChoosableFileFilter(filter); + final int returnVal = fc + .showSaveDialog(AdditionalResultsFrame.this); + fc.getWidth(); + fc.getHeight(); + if (returnVal == JFileChooser.APPROVE_OPTION) { + try { + file = new File(fc.getSelectedFile() + ".png"); + ImageIO.write(bi, "png", file); + saved(file); + } catch (final Exception e) { + notsaved(); + Logger(this.getClass(), e); + } + } + } + } else if (c instanceof PlotPanel) { final PlotPanel panel = (PlotPanel) c; filter = new FileNameExtensionFilter( ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel