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

Reply via email to