edu.uci.ics.jung.visualization
Class VisualizationViewer<V,E>

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 edu.uci.ics.jung.visualization.BasicVisualizationServer<V,E>
                      extended by edu.uci.ics.jung.visualization.VisualizationViewer<V,E>
All Implemented Interfaces:
ChangeEventSupport, VisualizationServer<V,E>, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, ChangeListener
Direct Known Subclasses:
SatelliteVisualizationViewer

public class VisualizationViewer<V,E>
extends BasicVisualizationServer<V,E>

Adds mouse behaviors and tooltips to the graph visualization base class

Author:
Joshua O'Madadhain, Tom Nelson, Danyel Fisher
See Also:
Serialized Form

Nested Class Summary
static interface VisualizationViewer.GraphMouse
          a convenience type to represent a class that processes all types of mouse events for the graph
 
Nested classes/interfaces inherited from class edu.uci.ics.jung.visualization.BasicVisualizationServer
BasicVisualizationServer.VisualizationListener
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
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.BltBufferStrategy, Component.FlipBufferStrategy
 
Nested classes/interfaces inherited from interface edu.uci.ics.jung.visualization.VisualizationServer
VisualizationServer.Paintable
 
Field Summary
protected  org.apache.commons.collections15.Transformer<E,String> edgeToolTipTransformer
           
protected  VisualizationViewer.GraphMouse graphMouse
          provides MouseListener, MouseMotionListener, and MouseWheelListener events to the graph
protected  org.apache.commons.collections15.Transformer<MouseEvent,String> mouseEventToolTipTransformer
           
protected  MouseListener requestFocusListener
           
protected  org.apache.commons.collections15.Transformer<V,String> vertexToolTipTransformer
           
 
Fields inherited from class edu.uci.ics.jung.visualization.BasicVisualizationServer
changeSupport, doubleBuffered, model, offscreen, offscreenG2d, pickedEdgeState, pickedVertexState, pickEventListener, postRenderers, preRenderers, renderContext, renderer, renderingHints
 
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
VisualizationViewer(Layout<V,E> layout)
          Create an instance with passed parameters.
VisualizationViewer(Layout<V,E> layout, Dimension preferredSize)
          Create an instance with passed parameters.
VisualizationViewer(VisualizationModel<V,E> model)
          Create an instance with passed parameters.
VisualizationViewer(VisualizationModel<V,E> model, Dimension preferredSize)
          Create an instance with passed parameters.
 
Method Summary
 void addGraphMouseListener(GraphMouseListener<V> gel)
          This is the interface for adding a mouse listener.
 void addKeyListener(KeyListener l)
          Override to request focus on mouse enter, if a key listener is added
 VisualizationViewer.GraphMouse getGraphMouse()
           
 String getToolTipText(MouseEvent event)
          called by the superclass to display tooltips
 void setEdgeToolTipTransformer(org.apache.commons.collections15.Transformer<E,String> edgeToolTipTransformer)
           
 void setGraphMouse(VisualizationViewer.GraphMouse graphMouse)
          a setter for the GraphMouse.
 void setMouseEventToolTipTransformer(org.apache.commons.collections15.Transformer<MouseEvent,String> mouseEventToolTipTransformer)
           
 void setVertexToolTipTransformer(org.apache.commons.collections15.Transformer<V,String> vertexToolTipTransformer)
           
 
Methods inherited from class edu.uci.ics.jung.visualization.BasicVisualizationServer
addChangeListener, addPostRenderPaintable, addPreRenderPaintable, checkOffscreenImage, fireStateChanged, getCenter, getChangeListeners, getGraphLayout, getModel, getPickedEdgeState, getPickedVertexState, getPickSupport, getRenderContext, getRenderer, getRenderingHints, getSize, isDoubleBuffered, paintComponent, prependPostRenderPaintable, prependPreRenderPaintable, removeChangeListener, removePostRenderPaintable, removePreRenderPaintable, renderGraph, scaleToLayout, setDoubleBuffered, setGraphLayout, setModel, setPickedEdgeState, setPickedVertexState, setPickSupport, setRenderContext, setRenderer, setRenderingHints, setVisible, stateChanged
 
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, 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, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, 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, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, 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, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, 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, 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, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface edu.uci.ics.jung.visualization.VisualizationServer
repaint
 

Field Detail

vertexToolTipTransformer

protected org.apache.commons.collections15.Transformer<V,String> vertexToolTipTransformer

edgeToolTipTransformer

protected org.apache.commons.collections15.Transformer<E,String> edgeToolTipTransformer

mouseEventToolTipTransformer

protected org.apache.commons.collections15.Transformer<MouseEvent,String> mouseEventToolTipTransformer

graphMouse

protected VisualizationViewer.GraphMouse graphMouse
provides MouseListener, MouseMotionListener, and MouseWheelListener events to the graph


requestFocusListener

protected MouseListener requestFocusListener
Constructor Detail

VisualizationViewer

public VisualizationViewer(Layout<V,E> layout)
Create an instance with passed parameters.

Parameters:
layout - The Layout to apply, with its associated Graph
renderer - The Renderer to draw it with

VisualizationViewer

public VisualizationViewer(Layout<V,E> layout,
                           Dimension preferredSize)
Create an instance with passed parameters.

Parameters:
layout - The Layout to apply, with its associated Graph
renderer - The Renderer to draw it with
preferredSize - the preferred size of this View

VisualizationViewer

public VisualizationViewer(VisualizationModel<V,E> model)
Create an instance with passed parameters.

Parameters:
model -
renderer -

VisualizationViewer

public VisualizationViewer(VisualizationModel<V,E> model,
                           Dimension preferredSize)
Create an instance with passed parameters.

Parameters:
model -
renderer -
preferredSize - initial preferred size of the view
Method Detail

setGraphMouse

public void setGraphMouse(VisualizationViewer.GraphMouse graphMouse)
a setter for the GraphMouse. This will remove any previous GraphMouse (including the one that is added in the initMouseClicker method.

Parameters:
graphMouse - new value

getGraphMouse

public VisualizationViewer.GraphMouse getGraphMouse()
Returns:
the current GraphMouse

addGraphMouseListener

public void addGraphMouseListener(GraphMouseListener<V> gel)
This is the interface for adding a mouse listener. The GEL will be called back with mouse clicks on vertices.

Parameters:
gel -

addKeyListener

public void addKeyListener(KeyListener l)
Override to request focus on mouse enter, if a key listener is added

Overrides:
addKeyListener in class Component
See Also:
Component.addKeyListener(java.awt.event.KeyListener)

setEdgeToolTipTransformer

public void setEdgeToolTipTransformer(org.apache.commons.collections15.Transformer<E,String> edgeToolTipTransformer)
Parameters:
edgeToolTipTransformer - the edgeToolTipTransformer to set

setMouseEventToolTipTransformer

public void setMouseEventToolTipTransformer(org.apache.commons.collections15.Transformer<MouseEvent,String> mouseEventToolTipTransformer)
Parameters:
mouseEventToolTipTransformer - the mouseEventToolTipTransformer to set

setVertexToolTipTransformer

public void setVertexToolTipTransformer(org.apache.commons.collections15.Transformer<V,String> vertexToolTipTransformer)
Parameters:
vertexToolTipTransformer - the vertexToolTipTransformer to set

getToolTipText

public String getToolTipText(MouseEvent event)
called by the superclass to display tooltips

Overrides:
getToolTipText in class JComponent


Copyright © 2009. All Rights Reserved.