org.jgraph.graph
Class VertexRenderer

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JLabel
                  extended by org.jgraph.graph.VertexRenderer
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, SwingConstants, CellViewRenderer

public class VertexRenderer
extends JLabel
implements CellViewRenderer, Serializable

This renderer displays entries that implement the CellView interface and supports the following attributes. If the cell view is not a leaf, this object is only visible if it is selected.

  • GraphConstants.BOUNDS GraphConstants.ICON GraphConstants.FONT GraphConstants.OPAQUE GraphConstants.BORDER GraphConstants.BORDERCOLOR GraphConstants.LINEWIDTH GraphConstants.FOREGROUND GraphConstants.BACKGROUND GraphConstants.VERTICAL_ALIGNMENT GraphConstants.HORIZONTAL_ALIGNMENT GraphConstants.VERTICAL_TEXT_POSITION GraphConstants.HORIZONTAL_TEXT_POSITION
  • Version:
    1.0 1/1/02
    Author:
    Gaudenz Alder
    See Also:
    Serialized Form

    Nested Class Summary
     
    Nested classes/interfaces inherited from class javax.swing.JLabel
    JLabel.AccessibleJLabel
     
    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
     
    Field Summary
    protected  Color bordercolor
              Cached default foreground and default background.
    protected  int borderWidth
              Cached borderwidth.
    protected  boolean childrenSelected
              Cached hasFocus and selected value.
    protected  Color defaultBackground
              Cached default foreground and default background.
    protected  Color defaultForeground
              Cached default foreground and default background.
    protected  JGraph graph
              Cache the current graph for drawing.
    protected  boolean hasFocus
              Cached hasFocus and selected value.
    protected  boolean hideGroups
              Use this flag to control if groups should appear transparent.
    protected  boolean opaque
              Cached hasFocus and selected value.
    protected  boolean preview
              Cached hasFocus and selected value.
    protected  boolean selected
              Cached hasFocus and selected value.
    protected  VertexView view
              Cache the current shape for drawing.
     
    Fields inherited from class javax.swing.JLabel
    labelFor
     
    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 javax.swing.SwingConstants
    BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
     
    Fields inherited from interface java.awt.image.ImageObserver
    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
     
    Constructor Summary
    VertexRenderer()
              Constructs a renderer that may be used to render vertices.
    VertexRenderer(boolean hideGroups)
              Constructs a renderer that may be used to render vertices.
     
    Method Summary
     void firePropertyChange(String propertyName, boolean oldValue, boolean newValue)
              Overridden for performance reasons.
     void firePropertyChange(String propertyName, byte oldValue, byte newValue)
              Overridden for performance reasons.
     void firePropertyChange(String propertyName, char oldValue, char newValue)
              Overridden for performance reasons.
     void firePropertyChange(String propertyName, double oldValue, double newValue)
              Overridden for performance reasons.
     void firePropertyChange(String propertyName, float oldValue, float newValue)
              Overridden for performance reasons.
     void firePropertyChange(String propertyName, int oldValue, int newValue)
              Overridden for performance reasons.
     void firePropertyChange(String propertyName, long oldValue, long newValue)
              Overridden for performance reasons.
    protected  void firePropertyChange(String propertyName, Object oldValue, Object newValue)
              Overridden for performance reasons.
     void firePropertyChange(String propertyName, short oldValue, short newValue)
              Overridden for performance reasons.
     Point getPerimeterPoint(VertexView view, Point source, Point p)
              Returns the intersection of the bounding rectangle and the straight line between the source and the specified point p.
     Component getRendererComponent(JGraph graph, CellView view, boolean sel, boolean focus, boolean preview)
              Configure and return the renderer based on the passed in components.
    protected  void installAttributes(CellView view)
              Install the attributes of specified cell in this renderer instance.
     boolean isHideGroups()
              Returns the hideGroups.
     void paint(Graphics g)
              Paint the renderer.
    protected  void paintSelectionBorder(Graphics g)
              Provided for subclassers to paint a selection border.
     void repaint(long tm, int x, int y, int width, int height)
              Overridden for performance reasons.
     void repaint(Rectangle r)
              Overridden for performance reasons.
     void revalidate()
              Overridden for performance reasons.
     void setHideGroups(boolean hideGroups)
              Sets the hideGroups.
     void validate()
              Overridden for performance reasons.
     
    Methods inherited from class javax.swing.JLabel
    checkHorizontalKey, checkVerticalKey, getAccessibleContext, getDisabledIcon, getDisplayedMnemonic, getDisplayedMnemonicIndex, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getLabelFor, getText, getUI, getUIClassID, getVerticalAlignment, getVerticalTextPosition, imageUpdate, paramString, setDisabledIcon, setDisplayedMnemonic, setDisplayedMnemonic, setDisplayedMnemonicIndex, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabelFor, setText, setUI, setVerticalAlignment, setVerticalTextPosition, updateUI
     
    Methods inherited from class javax.swing.JComponent
    addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, 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, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, 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, transferFocusBackward, transferFocusDownCycle, 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, 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, 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
     

    Field Detail

    hideGroups

    protected boolean hideGroups
    Use this flag to control if groups should appear transparent.


    graph

    protected transient JGraph graph
    Cache the current graph for drawing.


    view

    protected transient VertexView view
    Cache the current shape for drawing.


    hasFocus

    protected transient boolean hasFocus
    Cached hasFocus and selected value.


    selected

    protected transient boolean selected
    Cached hasFocus and selected value.


    preview

    protected transient boolean preview
    Cached hasFocus and selected value.


    opaque

    protected transient boolean opaque
    Cached hasFocus and selected value.


    childrenSelected

    protected transient boolean childrenSelected
    Cached hasFocus and selected value.


    defaultForeground

    protected transient Color defaultForeground
    Cached default foreground and default background.


    defaultBackground

    protected transient Color defaultBackground
    Cached default foreground and default background.


    bordercolor

    protected transient Color bordercolor
    Cached default foreground and default background.


    borderWidth

    protected transient int borderWidth
    Cached borderwidth.

    Constructor Detail

    VertexRenderer

    public VertexRenderer()
    Constructs a renderer that may be used to render vertices.


    VertexRenderer

    public VertexRenderer(boolean hideGroups)
    Constructs a renderer that may be used to render vertices.

    Method Detail

    getRendererComponent

    public Component getRendererComponent(JGraph graph,
                                          CellView view,
                                          boolean sel,
                                          boolean focus,
                                          boolean preview)
    Configure and return the renderer based on the passed in components. The value is typically set from messaging the graph with convertValueToString. We recommend you check the value's class and throw an illegal argument exception if it's not correct.

    Specified by:
    getRendererComponent in interface CellViewRenderer
    Parameters:
    graph - the graph that that defines the rendering context.
    view - the object that should be rendered.
    sel - whether the object is selected.
    focus - whether the object has the focus.
    preview - whether we are drawing a preview.
    Returns:
    the component used to render the value.

    installAttributes

    protected void installAttributes(CellView view)
    Install the attributes of specified cell in this renderer instance. This means, retrieve every published key from the cells hashtable and set global variables or superclass properties accordingly.

    Parameters:
    view - to retrieve the attribute values from.

    paint

    public void paint(Graphics g)
    Paint the renderer. Overrides superclass paint to add specific painting.

    Overrides:
    paint in class JComponent

    paintSelectionBorder

    protected void paintSelectionBorder(Graphics g)
    Provided for subclassers to paint a selection border.


    getPerimeterPoint

    public Point getPerimeterPoint(VertexView view,
                                   Point source,
                                   Point p)
    Returns the intersection of the bounding rectangle and the straight line between the source and the specified point p. The specified point is expected not to intersect the bounds.


    validate

    public void validate()
    Overridden for performance reasons. See the Implementation Note for more information.

    Overrides:
    validate in class Container

    revalidate

    public void revalidate()
    Overridden for performance reasons. See the Implementation Note for more information.

    Overrides:
    revalidate in class JComponent

    repaint

    public void repaint(long tm,
                        int x,
                        int y,
                        int width,
                        int height)
    Overridden for performance reasons. See the Implementation Note for more information.

    Overrides:
    repaint in class JComponent

    repaint

    public void repaint(Rectangle r)
    Overridden for performance reasons. See the Implementation Note for more information.

    Overrides:
    repaint in class JComponent

    firePropertyChange

    protected void firePropertyChange(String propertyName,
                                      Object oldValue,
                                      Object newValue)
    Overridden for performance reasons. See the Implementation Note for more information.

    Overrides:
    firePropertyChange in class Component

    firePropertyChange

    public void firePropertyChange(String propertyName,
                                   byte oldValue,
                                   byte newValue)
    Overridden for performance reasons. See the Implementation Note for more information.

    Overrides:
    firePropertyChange in class Component

    firePropertyChange

    public void firePropertyChange(String propertyName,
                                   char oldValue,
                                   char newValue)
    Overridden for performance reasons. See the Implementation Note for more information.

    Overrides:
    firePropertyChange in class JComponent

    firePropertyChange

    public void firePropertyChange(String propertyName,
                                   short oldValue,
                                   short newValue)
    Overridden for performance reasons. See the Implementation Note for more information.

    Overrides:
    firePropertyChange in class Component

    firePropertyChange

    public void firePropertyChange(String propertyName,
                                   int oldValue,
                                   int newValue)
    Overridden for performance reasons. See the Implementation Note for more information.

    Overrides:
    firePropertyChange in class JComponent

    firePropertyChange

    public void firePropertyChange(String propertyName,
                                   long oldValue,
                                   long newValue)
    Overridden for performance reasons. See the Implementation Note for more information.

    Overrides:
    firePropertyChange in class Component

    firePropertyChange

    public void firePropertyChange(String propertyName,
                                   float oldValue,
                                   float newValue)
    Overridden for performance reasons. See the Implementation Note for more information.

    Overrides:
    firePropertyChange in class Component

    firePropertyChange

    public void firePropertyChange(String propertyName,
                                   double oldValue,
                                   double newValue)
    Overridden for performance reasons. See the Implementation Note for more information.

    Overrides:
    firePropertyChange in class Component

    firePropertyChange

    public void firePropertyChange(String propertyName,
                                   boolean oldValue,
                                   boolean newValue)
    Overridden for performance reasons. See the Implementation Note for more information.

    Overrides:
    firePropertyChange in class JComponent

    isHideGroups

    public boolean isHideGroups()
    Returns the hideGroups.

    Returns:
    boolean

    setHideGroups

    public void setHideGroups(boolean hideGroups)
    Sets the hideGroups.

    Parameters:
    hideGroups - The hideGroups to set