Package jadex.tools.comanalyzer.graph
Class GraphCanvas
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- jadex.tools.comanalyzer.ToolCanvas
-
- jadex.tools.comanalyzer.graph.GraphCanvas
-
- All Implemented Interfaces:
java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,javax.accessibility.Accessible
public class GraphCanvas extends ToolCanvas
The container for the graph.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classGraphCanvas.AgentGroupA component group for agents.protected static classGraphCanvas.DirectionDisplayPredicateA prdicate class that shows arrows for directed edges and hides them for undirected edges.classGraphCanvas.MessageGroupA component group for messages.-
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
-
-
Field Summary
Fields Modifier and Type Field Description protected booleananimateanimate the layout adjustmentsprotected booleanautolayoutadjust layout with each changeprotected booleanclustercluster the graphprotected static intDIRECTED_GRAPHThe graph mode for the directed graphprotected static intDIRECTED_MULTIGRAPHThe graph mode for the directed multigraphprotected GraphCanvas.DirectionDisplayPredicatee_arrowThe predicate test for showing arrows in directed graphs and none in undirected.protected EdgeTransformer.LabelFonte_fontThe transformer for edge fontprotected EdgeTransformer.GradientPainte_gradientThe advanced transformer for edge paintprotected edu.uci.ics.jung.visualization.decorators.EdgeShape.Linee_lineThe transformer for the edge line shapeprotected EdgeTransformer.PaintModee_paintThe transformer for the edge paintprotected edu.uci.ics.jung.visualization.decorators.EdgeShape.QuadCurvee_quadThe transformer for the edge curve shapeprotected EdgeTransformer.Labele_stringThe transformer for edge labelprotected EdgeTransformer.WeightStrokee_strokeThe transformer for edge strokeprotected edu.uci.ics.jung.visualization.decorators.EdgeShape.Wedgee_wedgeThe transformer for the edge wedge shapeprotected edu.uci.ics.jung.visualization.control.DefaultModalGraphMousegmSupport for picking and transformingprotected ComponentGroupMultiGraphgraphThe graph.protected org.apache.commons.collections15.FactorygraphFactoryThe factory for the graphprotected intgraphTypeThe graph typeprotected static javax.swing.UIDefaultsiconsThe image icons.protected edu.uci.ics.jung.algorithms.layout.AggregateLayoutlayoutThe aggregat layout.protected edu.uci.ics.jung.visualization.control.AbsoluteCrossoverScalingControlscalerprotected edu.uci.ics.jung.algorithms.layout.StaticLayoutstaticLayoutThe static layout.protected static intUNDIRECTED_GRAPHThe graph mode for the undirected graphprotected VertexTransformer.LabelFontv_fontThe transformer for vertex fontprotected VertexTransformer.IconSizev_iconThe transformer for agent iconprotected VertexTransformer.ShapeSizev_shapeThe transformer for vertex shapeprotected VertexTransformer.Labelv_stringThe transformer for vertex labelprotected java.util.Listvisible_agentsThe list of agents displayed in the graphprotected java.util.Listvisible_messagesThe list of messages displayed in the graphprotected edu.uci.ics.jung.visualization.VisualizationViewervvThe graph viewer-
Fields inherited from class jadex.tools.comanalyzer.ToolCanvas
tooltab
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
Constructor Summary
Constructors Constructor Description GraphCanvas(GraphPanel tooltab)Constructor for the container.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddAgent(Component agent)Adds the agent.voidaddMessage(Message message, Component sender, Component receiver)Add message with given sender and receiver (for redirection)voidclear()Clear the graph.voidclusterGraph(int numEdgesToRemove, boolean groupClusters)Cluster the vertices with edge betweenness algorithm.intgetGraphType()Returns the graph typeprotected voidgroupCluster(java.util.Set vertices)Groups a cluster (set) of agents into a sublayout.protected voidlockAgents()Lock agent postions.voidreinitializeCanvas()Repaints the canvas with reinitializes its layout.voidremoveComponent(Component agent)Removes an agent.voidremoveMessage(Message message)Removes a message.voidrepaintCanvas()Repaint the graph.voidsetGraphType(int graphType)Sets the graph type.protected voidunlockAgents()Unlock agent positionsvoidupdateComponent(Component agent, boolean update)Updates an agent by adding it, if the agent can be displayed or removing it if present.voidupdateMessage(Message message, boolean isPresent)Update a message by adding it, if the message can be displayed or removing it if present.-
Methods inherited from class jadex.tools.comanalyzer.ToolCanvas
getToolTab
-
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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
icons
protected static final javax.swing.UIDefaults icons
The image icons.
-
DIRECTED_MULTIGRAPH
protected static final int DIRECTED_MULTIGRAPH
The graph mode for the directed multigraph- See Also:
- Constant Field Values
-
DIRECTED_GRAPH
protected static final int DIRECTED_GRAPH
The graph mode for the directed graph- See Also:
- Constant Field Values
-
UNDIRECTED_GRAPH
protected static final int UNDIRECTED_GRAPH
The graph mode for the undirected graph- See Also:
- Constant Field Values
-
graphType
protected int graphType
The graph type
-
autolayout
protected boolean autolayout
adjust layout with each change
-
animate
protected boolean animate
animate the layout adjustments
-
cluster
protected boolean cluster
cluster the graph
-
visible_messages
protected java.util.List visible_messages
The list of messages displayed in the graph
-
visible_agents
protected java.util.List visible_agents
The list of agents displayed in the graph
-
vv
protected edu.uci.ics.jung.visualization.VisualizationViewer vv
The graph viewer
-
graph
protected ComponentGroupMultiGraph graph
The graph.
-
staticLayout
protected edu.uci.ics.jung.algorithms.layout.StaticLayout staticLayout
The static layout. For animated transitions
-
layout
protected edu.uci.ics.jung.algorithms.layout.AggregateLayout layout
The aggregat layout. Allows diffrent sublayouts
-
graphFactory
protected org.apache.commons.collections15.Factory graphFactory
The factory for the graph
-
gm
protected edu.uci.ics.jung.visualization.control.DefaultModalGraphMouse gm
Support for picking and transforming
-
scaler
protected edu.uci.ics.jung.visualization.control.AbsoluteCrossoverScalingControl scaler
-
v_string
protected VertexTransformer.Label v_string
The transformer for vertex label
-
v_font
protected VertexTransformer.LabelFont v_font
The transformer for vertex font
-
v_shape
protected VertexTransformer.ShapeSize v_shape
The transformer for vertex shape
-
v_icon
protected VertexTransformer.IconSize v_icon
The transformer for agent icon
-
e_string
protected EdgeTransformer.Label e_string
The transformer for edge label
-
e_font
protected EdgeTransformer.LabelFont e_font
The transformer for edge font
-
e_line
protected edu.uci.ics.jung.visualization.decorators.EdgeShape.Line e_line
The transformer for the edge line shape
-
e_quad
protected edu.uci.ics.jung.visualization.decorators.EdgeShape.QuadCurve e_quad
The transformer for the edge curve shape
-
e_wedge
protected edu.uci.ics.jung.visualization.decorators.EdgeShape.Wedge e_wedge
The transformer for the edge wedge shape
-
e_paint
protected EdgeTransformer.PaintMode e_paint
The transformer for the edge paint
-
e_gradient
protected EdgeTransformer.GradientPaint e_gradient
The advanced transformer for edge paint
-
e_stroke
protected EdgeTransformer.WeightStroke e_stroke
The transformer for edge stroke
-
e_arrow
protected GraphCanvas.DirectionDisplayPredicate e_arrow
The predicate test for showing arrows in directed graphs and none in undirected.
-
-
Constructor Detail
-
GraphCanvas
public GraphCanvas(GraphPanel tooltab)
Constructor for the container.- Parameters:
tooltab- The tooltab.
-
-
Method Detail
-
updateMessage
public void updateMessage(Message message, boolean isPresent)
Update a message by adding it, if the message can be displayed or removing it if present.- Specified by:
updateMessagein classToolCanvas- Parameters:
message- The message to add.isPresent-trueif removal is skipped. (Can be applied to new messages)
-
removeMessage
public void removeMessage(Message message)
Removes a message.- Specified by:
removeMessagein classToolCanvas- Parameters:
message- The message to remove.
-
updateComponent
public void updateComponent(Component agent, boolean update)
Updates an agent by adding it, if the agent can be displayed or removing it if present.- Specified by:
updateComponentin classToolCanvas- Parameters:
agent- The agent to add.isPresent-trueif removal is skipped. (Can be applied to new agents)
-
removeComponent
public void removeComponent(Component agent)
Removes an agent.- Specified by:
removeComponentin classToolCanvas- Parameters:
agent- The agent to remove.
-
clear
public void clear()
Clear the graph.- Specified by:
clearin classToolCanvas
-
repaintCanvas
public void repaintCanvas()
Repaint the graph.- Specified by:
repaintCanvasin classToolCanvas
-
reinitializeCanvas
public void reinitializeCanvas()
Repaints the canvas with reinitializes its layout.
-
addMessage
public void addMessage(Message message, Component sender, Component receiver)
Add message with given sender and receiver (for redirection)- Parameters:
message- The message to add.sender- The sender in the presentation.receiver- The receiver in the presentation. (e.g. dummy)
-
addAgent
public void addAgent(Component agent)
Adds the agent.- Parameters:
agent- The agent to add.
-
clusterGraph
public void clusterGraph(int numEdgesToRemove, boolean groupClusters)Cluster the vertices with edge betweenness algorithm.- Parameters:
numEdgesToRemove- The number of edges to remove.groupClusters-trueif the vertices should be clustered.falsefor cancel the grouping.
-
getGraphType
public int getGraphType()
Returns the graph type- Returns:
- The graph type.
-
setGraphType
public void setGraphType(int graphType)
Sets the graph type.- Parameters:
graphType- The graph type to set.
-
lockAgents
protected void lockAgents()
Lock agent postions.
-
unlockAgents
protected void unlockAgents()
Unlock agent positions
-
groupCluster
protected void groupCluster(java.util.Set vertices)
Groups a cluster (set) of agents into a sublayout.- Parameters:
vertices-
-
-