JGraph
v5.13.0.0


com.jgraph.util
Class JGraphPrintingScrollPane

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JScrollPane
                  extended by com.jgraph.util.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:
Serialized Form

Nested Class Summary
 class JGraphPrintingScrollPane.Viewport
          Viewport for diagram panes that is in charge of painting the background image or page.
 
Nested classes/interfaces inherited from class javax.swing.JScrollPane
JScrollPane.AccessibleJScrollPane, JScrollPane.ScrollBar
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
static double DEFAULT_PAGESCALE
          Specifies the default page scale.
protected  JGraph graph
          References the inner graph.
protected  boolean isPageVisible
          Specifies if the background page is visible.
protected  PageFormat pageFormat
          Background page format.
protected  double pageScale
          Defines the scaling for the background page metrics.
static String PROPERTY_AUTOSCALEPOLICY
          Bound property names for the respective properties.
static String PROPERTY_BACKGROUNDIMAGE
          Bound property names for the respective properties.
static String PROPERTY_METRIC
          Bound property names for the respective properties.
static String PROPERTY_PAGEFORMAT
          Bound property names for the respective properties.
static String PROPERTY_PAGESCALE
          Bound property names for the respective properties.
static String PROPERTY_PAGEVISIBLE
          Bound property names for the respective properties.
static String PROPERTY_RULERSVISIBLE
          Bound property names for the respective properties.
 
Fields inherited from class javax.swing.JScrollPane
columnHeader, horizontalScrollBar, horizontalScrollBarPolicy, lowerLeft, lowerRight, rowHeader, upperLeft, upperRight, verticalScrollBar, verticalScrollBarPolicy, viewport
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.print.Printable
NO_SUCH_PAGE, PAGE_EXISTS
 
Fields inherited from interface javax.swing.ScrollPaneConstants
COLUMN_HEADER, HORIZONTAL_SCROLLBAR, HORIZONTAL_SCROLLBAR_ALWAYS, HORIZONTAL_SCROLLBAR_AS_NEEDED, HORIZONTAL_SCROLLBAR_NEVER, HORIZONTAL_SCROLLBAR_POLICY, LOWER_LEADING_CORNER, LOWER_LEFT_CORNER, LOWER_RIGHT_CORNER, LOWER_TRAILING_CORNER, ROW_HEADER, UPPER_LEADING_CORNER, UPPER_LEFT_CORNER, UPPER_RIGHT_CORNER, UPPER_TRAILING_CORNER, VERTICAL_SCROLLBAR, VERTICAL_SCROLLBAR_ALWAYS, VERTICAL_SCROLLBAR_AS_NEEDED, VERTICAL_SCROLLBAR_NEVER, VERTICAL_SCROLLBAR_POLICY, VIEWPORT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
JGraphPrintingScrollPane()
           
 
Method Summary
protected  double computePageScale()
          Computes the scale for the page autoscale policy.
protected  double computePageWidthScale(int border)
          Computes the scale for the pagewidth autoscale policy.
protected  double computeWindowScale(int border)
          Computes the scale for the window autoscale policy.
 JGraph getGraph()
          Returns the inner graph.
 PageFormat getPageFormat()
          Returns the page format of the background page.
 double getPageScale()
          Returns the scale of the page metrics.
 boolean isPageVisible()
          Returns true if the background page is visible.
 int print(Graphics g, PageFormat printFormat, int page)
          Prints the specified page on the specified graphics using pageForm for the page format.
 void setPageFormat(PageFormat pageFormat)
          Sets the page format of the background page.Fires a property change event for PROPERTY_PAGEFORMAT.
 void setPageScale(double pageScale)
          Sets the scale of the page metrics.Fires a property change event for PROPERTY_PAGESCALE.
 void setPageVisible(boolean isPageVisible)
          Sets if the background page should be visible.Fires a property change event for PROPERTY_PAGEVISIBLE.
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.
 
Methods inherited from class javax.swing.JScrollPane
createHorizontalScrollBar, createVerticalScrollBar, createViewport, getAccessibleContext, getColumnHeader, getCorner, getHorizontalScrollBar, getHorizontalScrollBarPolicy, getRowHeader, getUI, getUIClassID, getVerticalScrollBar, getVerticalScrollBarPolicy, getViewport, getViewportBorder, getViewportBorderBounds, isValidateRoot, isWheelScrollingEnabled, paramString, setColumnHeader, setColumnHeaderView, setComponentOrientation, setCorner, setHorizontalScrollBar, setHorizontalScrollBarPolicy, setLayout, setRowHeader, setRowHeaderView, setUI, setVerticalScrollBar, setVerticalScrollBarPolicy, setViewport, setViewportBorder, setViewportView, setWheelScrollingEnabled, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT_PAGESCALE

public static final double DEFAULT_PAGESCALE
Specifies the default page scale. Default is 1.5

See Also:
Constant Field Values

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 Detail

JGraphPrintingScrollPane

public JGraphPrintingScrollPane()
Method Detail

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.

JGraph
v5.13.0.0


Copyright (C) 2001-2009 JGraph Ltd. All rights reserved.