Class JGraphPrintingScrollPane

All Implemented Interfaces:
ImageObserver, MenuContainer, Printable, Serializable, Accessible, ScrollPaneConstants

public class JGraphPrintingScrollPane extends JScrollPane implements Printable
Wrapper panel for a diagram/JGraph-pair that implements automatic sizing, backgrounds, printing and undo support. When wrapped in a scrollpane this panel adds rulers to the enclosing scrollpane. Furthermore, it automatically sets the minimum size and scale of the graph based on its settings.
See Also:
  • Field Details

    • DEFAULT_PAGESCALE

      public static final double DEFAULT_PAGESCALE
      Specifies the default page scale. Default is 1.5
      See Also:
    • pageFormat

      protected PageFormat pageFormat
      Background page format.
    • isPageVisible

      protected boolean isPageVisible
      Specifies if the background page is visible. Default is true.
    • pageScale

      protected double pageScale
      Defines the scaling for the background page metrics. Default is DEFAULT_PAGESCALE.
    • graph

      protected JGraph graph
      References the inner graph.
    • PROPERTY_METRIC

      public static String PROPERTY_METRIC
      Bound property names for the respective properties.
    • PROPERTY_PAGEVISIBLE

      public static String PROPERTY_PAGEVISIBLE
      Bound property names for the respective properties.
    • PROPERTY_BACKGROUNDIMAGE

      public static String PROPERTY_BACKGROUNDIMAGE
      Bound property names for the respective properties.
    • PROPERTY_RULERSVISIBLE

      public static String PROPERTY_RULERSVISIBLE
      Bound property names for the respective properties.
    • PROPERTY_PAGEFORMAT

      public static String PROPERTY_PAGEFORMAT
      Bound property names for the respective properties.
    • PROPERTY_AUTOSCALEPOLICY

      public static String PROPERTY_AUTOSCALEPOLICY
      Bound property names for the respective properties.
    • PROPERTY_PAGESCALE

      public static String PROPERTY_PAGESCALE
      Bound property names for the respective properties.
  • Constructor Details

    • JGraphPrintingScrollPane

      public JGraphPrintingScrollPane()
  • Method Details

    • getGraph

      public JGraph getGraph()
      Returns the inner graph.
      Returns:
      Returns the graph.
    • getPageFormat

      public PageFormat getPageFormat()
      Returns the page format of the background page.
      Returns:
      Returns the pageFormat.
    • setPageFormat

      public void setPageFormat(PageFormat pageFormat)
      Sets the page format of the background page.Fires a property change event for PROPERTY_PAGEFORMAT.
      Parameters:
      pageFormat - The pageFormat to set.
    • getPageScale

      public double getPageScale()
      Returns the scale of the page metrics.
      Returns:
      Returns the pageScale.
    • setPageScale

      public void setPageScale(double pageScale)
      Sets the scale of the page metrics.Fires a property change event for PROPERTY_PAGESCALE.
      Parameters:
      pageScale - The pageScale to set.
    • updateMinimumSize

      protected void updateMinimumSize()
      Updates the minimum size of the graph according to the current state of the background page: if the page is not visible then the minimum size is set to null, otherwise the minimum size is set to the smallest area of pages containing the graph.
    • computeWindowScale

      protected double computeWindowScale(int border)
      Computes the scale for the window autoscale policy.
      Parameters:
      border - The border to use.
      Returns:
      Returns the scale to use for the graph.
    • computePageScale

      protected double computePageScale()
      Computes the scale for the page autoscale policy.
      Returns:
      Returns the scale to use for the graph.
    • computePageWidthScale

      protected double computePageWidthScale(int border)
      Computes the scale for the pagewidth autoscale policy.
      Parameters:
      border - The border to use.
      Returns:
      Returns the scale to use for the graph.
    • print

      public int print(Graphics g, PageFormat printFormat, int page)
      Prints the specified page on the specified graphics using pageForm for the page format.
      Specified by:
      print in interface Printable
      Parameters:
      g - The graphics to paint the graph on.
      printFormat - The page format to use for printing.
      page - The page to print
      Returns:
      Returns Printable.PAGE_EXISTS or Printable.NO_SUCH_PAGE.
    • isPageVisible

      public boolean isPageVisible()
      Returns true if the background page is visible.
      Returns:
      Returns the isPageVisible.
    • setPageVisible

      public void setPageVisible(boolean isPageVisible)
      Sets if the background page should be visible.Fires a property change event for PROPERTY_PAGEVISIBLE.
      Parameters:
      isPageVisible - The isPageVisible to set.