JGraph
v5.13.0.4


com.jgraph.navigation
Class GraphNavigator

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by com.jgraph.navigation.GraphNavigator
All Implemented Interfaces:
java.awt.event.AdjustmentListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, GraphLayoutCacheListener, GraphModelListener

public class GraphNavigator
extends javax.swing.JPanel
implements GraphLayoutCacheListener, GraphModelListener, java.beans.PropertyChangeListener, java.awt.event.AdjustmentListener

See Also:
Serialized Form

Nested Class Summary
 class GraphNavigator.NavigatorPane
          Scrollpane that implements special painting used for the navigator preview.
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  JGraph backingGraph
          Holds the backing graph and references the displayed (current) graph.
protected  java.awt.event.ComponentListener componentListener
          Component listener to udpate the scale.
protected  java.lang.ref.WeakReference currentGraph
          Weak reference to the current graph.
protected static java.awt.Cursor CURSOR_DEFAULT
          Shared cursor objects to avoid expensive constructor calls.
protected static java.awt.Cursor CURSOR_HAND
          Shared cursor objects to avoid expensive constructor calls.
protected  GraphLayoutCache initialLayoutCache
          References the inital layout cache of the backing graph.
protected  double maximumScale
          Specifies the maximum scale for the navigator view.
protected  GraphNavigator.NavigatorPane navigatorPane
          Holds the navigator pane the displays the backing graph.
 
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.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
GraphNavigator(JGraph backingGraph)
          Constructs a new graph navigator using backingGraph to display the graph in currentGraph.
 
Method Summary
 void adjustmentValueChanged(java.awt.event.AdjustmentEvent e)
           
static GraphNavigator createInstance(JGraph graph)
           
 JGraph getBackingGraph()
          Returns the backing graph that is used to display currentGraph.
 JGraph getCurrentGraph()
          Returns the graph that is currently displayed.
 double getMaximumScale()
          Returns the maximum scale to be used for the backing graph.
static JGraph getParentGraph(java.awt.Component component)
          Helper method that returns the parent JGraph for the specified component in the component hierarchy.
static javax.swing.JScrollPane getParentScrollPane(java.awt.Component component)
          Helper method that returns the parent scrollpane for the specified component in the component hierarchy.
 GraphNavigator.NavigatorPane getScrollPane()
          Returns the navigator pane that contains the backing graph.
 void graphChanged(GraphModelEvent e)
          Invoked after a cell has changed in some way.
 void graphLayoutCacheChanged(GraphLayoutCacheEvent e)
          Invoked after a cell has changed in some way.
 void propertyChange(java.beans.PropertyChangeEvent event)
           
 void setBackingGraph(JGraph backingGraph)
          Sets the backing graph that is used to display currentGraph.
 void setCurrentGraph(JGraph sourceGraph)
          Sets the graph that is currently displayed.
 void setMaximumScale(double maximumScale)
          Sets the maximum scale to be used for the backing graph.
protected  void updateScale()
          Updates the scale of the backing graph.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, 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, isValidateRoot, 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, setLayout, 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, setComponentOrientation, 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

CURSOR_DEFAULT

protected static final java.awt.Cursor CURSOR_DEFAULT
Shared cursor objects to avoid expensive constructor calls.


CURSOR_HAND

protected static final java.awt.Cursor CURSOR_HAND
Shared cursor objects to avoid expensive constructor calls.


componentListener

protected java.awt.event.ComponentListener componentListener
Component listener to udpate the scale.


initialLayoutCache

protected transient GraphLayoutCache initialLayoutCache
References the inital layout cache of the backing graph.


backingGraph

protected JGraph backingGraph
Holds the backing graph and references the displayed (current) graph.


currentGraph

protected java.lang.ref.WeakReference currentGraph
Weak reference to the current graph.


navigatorPane

protected GraphNavigator.NavigatorPane navigatorPane
Holds the navigator pane the displays the backing graph.


maximumScale

protected double maximumScale
Specifies the maximum scale for the navigator view. Default is 0.5

Constructor Detail

GraphNavigator

public GraphNavigator(JGraph backingGraph)
Constructs a new graph navigator using backingGraph to display the graph in currentGraph.

Parameters:
backingGraph - The backing graph to render the display.
Method Detail

getScrollPane

public GraphNavigator.NavigatorPane getScrollPane()
Returns the navigator pane that contains the backing graph.

Returns:
Returns the navigator pane.

getMaximumScale

public double getMaximumScale()
Returns the maximum scale to be used for the backing graph.

Returns:
Returns the maximumScale.

setMaximumScale

public void setMaximumScale(double maximumScale)
Sets the maximum scale to be used for the backing graph.

Parameters:
maximumScale - The maximumScale to set.

getBackingGraph

public JGraph getBackingGraph()
Returns the backing graph that is used to display currentGraph.

Returns:
Returns the backing graph.

setBackingGraph

public void setBackingGraph(JGraph backingGraph)
Sets the backing graph that is used to display currentGraph.

Parameters:
backingGraph - The backing graph to set.

getCurrentGraph

public JGraph getCurrentGraph()
Returns the graph that is currently displayed.

Returns:
Returns the backing graph.

setCurrentGraph

public void setCurrentGraph(JGraph sourceGraph)
Sets the graph that is currently displayed.

Parameters:
sourceGraph - The current graph to set.

updateScale

protected void updateScale()
Updates the scale of the backing graph.


graphLayoutCacheChanged

public void graphLayoutCacheChanged(GraphLayoutCacheEvent e)
Description copied from interface: GraphLayoutCacheListener
Invoked after a cell has changed in some way. The vertex/vertices may have changed bounds or altered adjacency, or other attributes have changed that may affect presentation.

Specified by:
graphLayoutCacheChanged in interface GraphLayoutCacheListener

graphChanged

public void graphChanged(GraphModelEvent e)
Description copied from interface: GraphModelListener
Invoked after a cell has changed in some way. The vertex/vertices may have changed bounds or altered adjacency, or other attributes have changed that may affect presentation. Note : Read the notes on the GraphModelEvent class carefully. A GraphModelEvent is the undo of the event that has just occurred, i.e. if you undo this event is executed.

Specified by:
graphChanged in interface GraphModelListener

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent event)
Specified by:
propertyChange in interface java.beans.PropertyChangeListener

adjustmentValueChanged

public void adjustmentValueChanged(java.awt.event.AdjustmentEvent e)
Specified by:
adjustmentValueChanged in interface java.awt.event.AdjustmentListener

getParentScrollPane

public static javax.swing.JScrollPane getParentScrollPane(java.awt.Component component)
Helper method that returns the parent scrollpane for the specified component in the component hierarchy. If the component is itself a scrollpane then it is returned.

Returns:
Returns the parent scrollpane or component.

getParentGraph

public static JGraph getParentGraph(java.awt.Component component)
Helper method that returns the parent JGraph for the specified component in the component hierarchy. The component itself is never returned.

Returns:
Returns the parent scrollpane or component.

createInstance

public static GraphNavigator createInstance(JGraph graph)

JGraph
v5.13.0.4


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