Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## samples.preview_new_graphdraw.impl
Class GraphLayoutPanel

    java.lang.Object
      java.awt.Component
          java.awt.Container
              javax.swing.JComponent
                  javax.swing.JPanel
                      samples.preview_new_graphdraw.impl.GraphLayoutPanel

All Implemented Interfaces:
  Accessible, ImageObserver, MenuContainer, Serializable

public class GraphLayoutPanel
extends JPanel

Author:
  danyelf
See Also:
  Serialized Form

Nested Class Summary

Nested classes inherited from class javax.swing.JPanel
`JPanel.AccessibleJPanel`

Nested classes inherited from class javax.swing.JComponent
`JComponent.AccessibleJComponent`

Nested classes inherited from class java.awt.Container
`Container.AccessibleAWTContainer`

Nested classes inherited from class java.awt.Component
`Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy`

Field Summary
`protected EmittedLayout` | `cleanOriginal`
`protected samples.preview_new_graphdraw.impl.GraphLayoutPanelMouseListener.ClickPolicy` | `clickPolicy`
`static samples.preview_new_graphdraw.impl.GraphLayoutPanelMouseListener.ClickPolicy` | `EDGE_AND_VERTEX_BOTH` Both an edge event or a vertex event is fired from this panel.
`static samples.preview_new_graphdraw.impl.GraphLayoutPanelMouseListener.ClickPolicy` | `EDGE_AND_VERTEX_POLICY` Either an edge event or a vertex event is fired from this panel.
`static samples.preview_new_graphdraw.impl.GraphLayoutPanelMouseListener.ClickPolicy` | `EDGE_ONLY_POLICY` Only edge events are fired from this panel.
`protected EdgeRenderer` | `mEdgeRenderer`
`protected EmittedLayout` | `mLayout`
`protected VertexRenderer` | `mVertexRenderer`
`static samples.preview_new_graphdraw.impl.GraphLayoutPanelMouseListener.ClickPolicy` | `NO_EVENT_POLICY` No graph events are fired from this panel
`protected TransformerPipeline` | `pipeline`
`static samples.preview_new_graphdraw.impl.GraphLayoutPanelMouseListener.ClickPolicy` | `VERTEX_ONLY_POLICY` Only vertex events are fired from this panel.

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
`GraphLayoutPanel(Graph g, Dimension d, VertexRenderer vr, EdgeRenderer er)` Creates a GraphLayout panel.

Method Summary
`void` | `addClickListener(ClickListener cl)`
`protected MouseListener` | `getDefaultMouseListener()` By default, returns a JunGraphPanelMouseListener.
`EmittedLayout` | `getGraphLayout()` (Called only by vertexdrag.)
`TransformerPipeline` | `getPipeline()`
`protected void` | `paintComponent(Graphics graphics)` This method paints the component.
`void` | `resizeLayouts()`
`void` | `setClickPolicy(samples.preview_new_graphdraw.impl.GraphLayoutPanelMouseListener.ClickPolicy policy)`
`void` | `setLayoutDisplay(EmittedLayout lr2)` We maintain, in memory, two layouts.
`void` | `updateGraphToMatch(Graph g)`

Methods inherited from class javax.swing.JPanel
`getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI`

Methods inherited from class javax.swing.JComponent
`addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, 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`

Field Detail

### NO_EVENT_POLICY

    public static final samples.preview_new_graphdraw.impl.GraphLayoutPanelMouseListener.ClickPolicy NO_EVENT_POLICY

  No graph events are fired from this panel

### VERTEX_ONLY_POLICY

    public static final samples.preview_new_graphdraw.impl.GraphLayoutPanelMouseListener.ClickPolicy VERTEX_ONLY_POLICY

  Only vertex events are fired from this panel. If a click isn't near a vertex, no events are fired.

### EDGE_ONLY_POLICY

    public static final samples.preview_new_graphdraw.impl.GraphLayoutPanelMouseListener.ClickPolicy EDGE_ONLY_POLICY

  Only edge events are fired from this panel. If a click isn't near a edge, no events are fired.

### EDGE_AND_VERTEX_POLICY

    public static final samples.preview_new_graphdraw.impl.GraphLayoutPanelMouseListener.ClickPolicy EDGE_AND_VERTEX_POLICY

  Either an edge event or a vertex event is fired from this panel. If the click is close to a vertex, a vertex event is fired; otherwise, if the click is close to an edge, the edge event.

### EDGE_AND_VERTEX_BOTH

    public static final samples.preview_new_graphdraw.impl.GraphLayoutPanelMouseListener.ClickPolicy EDGE_AND_VERTEX_BOTH

  Both an edge event or a vertex event is fired from this panel. If the click is close to a vertex, a vertex event is fired; if the click is close to an edge, the edge event. (If both, then both may be fired: it is up to the developer to choose a mechansim. For example, some applications will select only vertices if the user is holding down the control button.)

### clickPolicy

    protected samples.preview_new_graphdraw.impl.GraphLayoutPanelMouseListener.ClickPolicy clickPolicy

### mVertexRenderer

    protected VertexRenderer mVertexRenderer

### mEdgeRenderer

    protected EdgeRenderer mEdgeRenderer

### mLayout

    protected volatile EmittedLayout mLayout

### pipeline

    protected TransformerPipeline pipeline

### cleanOriginal

    protected EmittedLayout cleanOriginal

Constructor Detail

### GraphLayoutPanel

    public GraphLayoutPanel(Graph g,
                            Dimension d,
                            VertexRenderer vr,
                            EdgeRenderer er)

  Creates a GraphLayout panel. It will set its preferred size to d, its local graph to g

Parameters:
  `g` -
  `d` -
  `vr` -
  `er` -

Method Detail

### getDefaultMouseListener

    protected MouseListener getDefaultMouseListener()

  By default, returns a JunGraphPanelMouseListener. Override this to install your own MouseListener instead of the one provided. (You can always add another listener with affecting this one.)

### paintComponent

    protected void paintComponent(Graphics graphics)

  This method paints the component. It does so by calling renderEdge and renderVertex on every VERTEX and every EDGE in the CURRENT GRAPH. Note that this will crash if the current graph has mutated.

  See Also:
    `JComponent.paintComponent(java.awt.Graphics)`

### addClickListener

    public void addClickListener(ClickListener cl)

### setClickPolicy

    public void setClickPolicy(samples.preview_new_graphdraw.impl.GraphLayoutPanelMouseListener.ClickPolicy policy)

### getGraphLayout

    public EmittedLayout getGraphLayout()

  (Called only by vertexdrag.)

### setLayoutDisplay

    public void setLayoutDisplay(EmittedLayout lr2)

  We maintain, in memory, two layouts. One of them is the one currently being drawn. It's been distorted, warped, and bumped through the pipeline. The other is a clean original.

  Parameters:
    `lr2` -

### getPipeline

    public TransformerPipeline getPipeline()

### resizeLayouts

    public void resizeLayouts()

### updateGraphToMatch

    public void updateGraphToMatch(Graph g)

  Parameters:
    `g` -

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD