com.mxgraph.swing

## Class mxGraphComponent.mxGraphControl

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - javax.swing.JComponent
      - - com.mxgraph.swing.mxGraphComponent.mxGraphControl

- All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable
  Enclosing class:
    mxGraphComponent

      public class mxGraphComponent.mxGraphControl
      extends javax.swing.JComponent

  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### 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

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.awt.Point` | `translate` Specifies a translation for painting.

    - ### 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

    Constructors
    Constructor and Description
    `mxGraphComponent.mxGraphControl()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `cellDrawn(mxICanvas canvas, mxCellState state)`
    `void` | `drawCell(mxICanvas canvas, java.lang.Object cell)` Draws the given cell onto the specified canvas.
    `protected void` | `drawChildren(java.lang.Object cell, boolean edges, boolean others)` Draws the child edges and/or all other children in the given cell depending on the boolean arguments.
    `protected void` | `drawFromRootCell()` Hook to draw the root cell into the canvas.
    `void` | `drawGraph(java.awt.Graphics2D g, boolean drawLabels)`
    `protected void` | `extendComponent(java.awt.Rectangle rect)` Implements extension of the component in all directions.
    `protected java.awt.Rectangle` | `getExtendedCellBounds(mxCellState state)`
    `mxGraphComponent` | `getGraphContainer()`
    `java.lang.String` | `getToolTipText(java.awt.event.MouseEvent e)`
    `java.awt.Point` | `getTranslate()` Returns the translate.
    `protected boolean` | `hitClip(mxGraphics2DCanvas canvas, mxCellState state)`
    `protected boolean` | `isCellDisplayable(java.lang.Object cell)` Returns true if the given cell is not the current root or the root in the model.
    `void` | `paint(java.awt.Graphics g)`
    `void` | `paintComponent(java.awt.Graphics g)`
    `void` | `scrollRectToVisible(java.awt.Rectangle aRect, boolean extend)` Overrides parent method to add extend flag for making the control larger during previews.
    `void` | `setTranslate(java.awt.Point value)` Sets the translate.
    `void` | `updatePreferredSize()` Updates the preferred size for the given scale if the page size should be preferred or the page is visible.

    - ### Methods inherited from class javax.swing.JComponent

      `addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, 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, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, 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, updateUI`

    - ### 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, 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

    - #### translate

          protected java.awt.Point translate

      Specifies a translation for painting. This should only be used during mouse drags and must be reset after any interactive repaints. Default is (0,0). This should not be null.

  - ### Constructor Detail

    - #### mxGraphComponent.mxGraphControl

          public mxGraphComponent.mxGraphControl()

  - ### Method Detail

    - #### getTranslate

          public java.awt.Point getTranslate()

      Returns the translate.

    - #### setTranslate

          public void setTranslate(java.awt.Point value)

      Sets the translate.

    - #### getGraphContainer

          public mxGraphComponent getGraphContainer()

    - #### scrollRectToVisible

          public void scrollRectToVisible(java.awt.Rectangle aRect,
                                 boolean extend)

      Overrides parent method to add extend flag for making the control larger during previews.

    - #### extendComponent

          protected void extendComponent(java.awt.Rectangle rect)

      Implements extension of the component in all directions. For extension below the origin (into negative space) the translate will temporaly be used and reset with the next mouse released event.

    - #### getToolTipText

          public java.lang.String getToolTipText(java.awt.event.MouseEvent e)

      Overrides:
        `getToolTipText` in class `javax.swing.JComponent`

    - #### updatePreferredSize

          public void updatePreferredSize()

      Updates the preferred size for the given scale if the page size should be preferred or the page is visible.

    - #### paint

          public void paint(java.awt.Graphics g)

      Overrides:
        `paint` in class `javax.swing.JComponent`

    - #### paintComponent

          public void paintComponent(java.awt.Graphics g)

      Overrides:
        `paintComponent` in class `javax.swing.JComponent`

    - #### drawGraph

          public void drawGraph(java.awt.Graphics2D g,
                       boolean drawLabels)

    - #### drawFromRootCell

          protected void drawFromRootCell()

      Hook to draw the root cell into the canvas.

    - #### hitClip

          protected boolean hitClip(mxGraphics2DCanvas canvas,
                        mxCellState state)

    - #### getExtendedCellBounds

          protected java.awt.Rectangle getExtendedCellBounds(mxCellState state)

      Parameters:
        `state` - the cached state of the cell whose extended bounds are to be calculated
      Returns:
        the bounds of the cell, including the label and shadow and allowing for rotation

    - #### drawCell

          public void drawCell(mxICanvas canvas,
                      java.lang.Object cell)

      Draws the given cell onto the specified canvas. This is a modified version of mxGraph.drawCell which paints the label only if the corresponding cell is not being edited and invokes the cellDrawn hook after all descendants have been painted.
      Parameters:
        `canvas` - Canvas onto which the cell should be drawn.
        `cell` - Cell that should be drawn onto the canvas.

    - #### drawChildren

          protected void drawChildren(java.lang.Object cell,
                          boolean edges,
                          boolean others)

      Draws the child edges and/or all other children in the given cell depending on the boolean arguments.

    - #### cellDrawn

          protected void cellDrawn(mxICanvas canvas,
                       mxCellState state)

    - #### isCellDisplayable

          protected boolean isCellDisplayable(java.lang.Object cell)

      Returns true if the given cell is not the current root or the root in the model. This can be overridden to not render certain cells in the graph display.

Copyright (c) 2010 Gaudenz Alder. All rights reserved.