com.dlsc.flexgantt.swing.layer.timeline

## Class DefaultEventObjectRenderer

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - javax.swing.JComponent
      - - javax.swing.JLabel
        - - com.dlsc.flexgantt.swing.layer.timeline.DefaultEventObjectRenderer

- All Implemented Interfaces:
    ITimelineObjectRenderer, IRenderer, ImageObserver, MenuContainer, Serializable, Accessible, SwingConstants

      public class DefaultEventObjectRenderer
      extends JLabel
      implements ITimelineObjectRenderer

  A default implementation of a renderer for timeline objects that are events (same start and end time).
  Since:
    1.0
  Version:
    $Revision: 1.5 $
  Author:
    Dirk Lemmermann
  See Also:
    `DefaultEventObject`, `LayerContainer.setTimelineObjectRenderer(Class, ITimelineObjectRenderer)`, 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.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy`

  - ### Field Summary

    - ### Fields inherited from class javax.swing.JLabel

      `labelFor`

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

    - ### Fields inherited from class java.awt.Component

      `accessibleContext, 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

    Constructors
    Constructor and Description
    `DefaultEventObjectRenderer()` Constructs a new event object renderer that will use the default icon for events (see `IconId.EVENT`).
    `DefaultEventObjectRenderer(Icon icon, Icon selectedIcon)` Constructs a new event object renderer.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `firePropertyChange(String propertyName, boolean oldValue, boolean newValue)` Overriden for performance reasons.
    `void` | `firePropertyChange(String propertyName, byte oldValue, byte newValue)` Overriden for performance reasons.
    `void` | `firePropertyChange(String propertyName, char oldValue, char newValue)` Overriden for performance reasons.
    `void` | `firePropertyChange(String propertyName, double oldValue, double newValue)` Overriden for performance reasons.
    `void` | `firePropertyChange(String propertyName, float oldValue, float newValue)` Overriden for performance reasons.
    `void` | `firePropertyChange(String propertyName, long oldValue, long newValue)` Overriden for performance reasons.
    `protected void` | `firePropertyChange(String propertyName, Object oldValue, Object newValue)` Overriden for performance reasons.
    `void` | `firePropertyChange(String propertyName, short oldValue, short newValue)` Overriden for performance reasons.
    `Icon` | `getIcon()` Returns the icon that will be used to visualize the event (subclasses can override to dynamically return different icons based on event properties).
    `JLabel` | `getLabel()` Returns the label that is being used to show the icons.
    `Icon` | `getSelectedIcon()` Returns the icon that will be used to visualize the event when it is currently selected (subclasses can override to dynamically return different icons based on event properties).
    `TimelineObjectPath` | `getTimelineObjectPath()` Returns the path to the currently rendered event object.
    `Component` | `getTimelineObjectRendererComponent(TimelineObjectLayer layer, TimelineObjectPath path, boolean selected, boolean focus, boolean highlighted, int row)` Returns a component that will be used to renderer the given timeline object.
    `Insets` | `getTimelineObjectRendererInsets(int x, int y, int width, int height)` Returns the insets of the object renderer.
    `void` | `invalidate()` Overriden for performance reasons.
    `boolean` | `isVisible()` Overriden in order to fix a bug in AWT, which causes the cursor to flicker during drag and drop operations
    `void` | `repaint()` Overriden for performance reasons.
    `void` | `repaint(int x, int y, int width, int height)` Overriden for performance reasons.
    `void` | `repaint(long tm)` Overriden for performance reasons.
    `void` | `revalidate()` Overriden for performance reasons.
    `void` | `setIcon(Icon icon)` Sets the icon that will be used to visualize the event.
    `void` | `setSelectedIcon(Icon icon)` Sets the icon that will be used to visualize the event when it is selected
    `void` | `validate()` Overriden for performance reasons.

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

      `checkHorizontalKey, checkVerticalKey, getAccessibleContext, getDisabledIcon, getDisplayedMnemonic, getDisplayedMnemonicIndex, getHorizontalAlignment, getHorizontalTextPosition, getIconTextGap, getLabelFor, getText, getUI, getUIClassID, getVerticalAlignment, getVerticalTextPosition, imageUpdate, paramString, setDisabledIcon, setDisplayedMnemonic, setDisplayedMnemonic, setDisplayedMnemonicIndex, setHorizontalAlignment, setHorizontalTextPosition, setIconTextGap, setLabelFor, setText, setUI, setVerticalAlignment, setVerticalTextPosition, updateUI`

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

      `addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, 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, 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, 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, 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, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, 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, 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`

- - ### Constructor Detail

    - #### DefaultEventObjectRenderer

          public DefaultEventObjectRenderer(Icon icon,
                                            Icon selectedIcon)

      Constructs a new event object renderer.
      Parameters:
        `icon` - the icon that will represent the event
        `selectedIcon` - an icon that will be shown when the event is selected
      Since:
        1.0

    - #### DefaultEventObjectRenderer

          public DefaultEventObjectRenderer()

      Constructs a new event object renderer that will use the default icon for events (see `IconId.EVENT`). No separate icon will be used for situations when the event is selected. Instead the standard feedback will be shown as inherited from the superclass (red triangle corners).
      Since:
        1.0

  - ### Method Detail

    - #### getTimelineObjectRendererComponent

          public Component getTimelineObjectRendererComponent(TimelineObjectLayer layer,
                                                              TimelineObjectPath path,
                                                              boolean selected,
                                                              boolean focus,
                                                              boolean highlighted,
                                                              int row)

      Description copied from interface: `ITimelineObjectRenderer`
      Returns a component that will be used to renderer the given timeline object.
      Specified by:
        `getTimelineObjectRendererComponent` in interface `ITimelineObjectRenderer`
      Parameters:
        `layer` - the layer in which the timeline object will be rendered
        `path` - the path to the timeline object that gets rendered
        `selected` - if TRUE the object is currently selected and the rendering needs to express that
        `focus` - if TRUE the focus is currently on the timeline object and the rendering needs to express that
        `highlighted` - if TRUE the timeline object is highlighted and its appearance needs to vary from its normal appearance (causing a blinking effect)
        `row` - the row in which the object gets drawn
      Returns:
        the component used for rendering the given object

    - #### getTimelineObjectRendererInsets

          public Insets getTimelineObjectRendererInsets(int x,
                                                        int y,
                                                        int width,
                                                        int height)

      Description copied from interface: `ITimelineObjectRenderer`
      Returns the insets of the object renderer. The insets are important if the renderer doesn't use the entire rectangle that it could use (for example a bar that doesn't use the entire height of the row, which is quite common, see also `DefaultActivityObjectRenderer`).
      Specified by:
        `getTimelineObjectRendererInsets` in interface `ITimelineObjectRenderer`
      Parameters:
        `x` - the x-coordinate of the bounds that will be assigned to the renderer component
        `y` - the y-coordinate of the bounds that will be assigned to the renderer component
        `width` - the width of the bounds that will be assigned to the renderer component
        `height` - the height of the bounds that will be assigned to the renderer component
      Returns:
        the renderers insets (unused space above, below, to the left, to the right)

    - #### getIcon

          public Icon getIcon()

      Returns the icon that will be used to visualize the event (subclasses can override to dynamically return different icons based on event properties).
      Overrides:
        `getIcon` in class `JLabel`
      Returns:
        the icon used for visualizing the event object
      Since:
        1.0

    - #### setIcon

          public void setIcon(Icon icon)

      Sets the icon that will be used to visualize the event.
      Overrides:
        `setIcon` in class `JLabel`
      Parameters:
        `icon` - the icon to use for visualizing the event
      Since:
        1.0

    - #### getSelectedIcon

          public Icon getSelectedIcon()

      Returns the icon that will be used to visualize the event when it is currently selected (subclasses can override to dynamically return different icons based on event properties).
      Returns:
        the icon used for visualizing the event object in a selected state
      Since:
        1.0

    - #### setSelectedIcon

          public void setSelectedIcon(Icon icon)

      Sets the icon that will be used to visualize the event when it is selected
      Parameters:
        `icon` - the icon to use for visualizing the event when it is selected
      Since:
        1.0

    - #### getLabel

          public JLabel getLabel()

      Returns the label that is being used to show the icons.
      Returns:
        the label showing the icons
      Since:
        1.0

    - #### getTimelineObjectPath

          public TimelineObjectPath getTimelineObjectPath()

      Returns the path to the currently rendered event object.
      Returns:
        the timeline object path
      Since:
        1.1

    - #### validate

          public void validate()

      Overriden for performance reasons.
      Overrides:
        `validate` in class `Container`
      Since:
        1.1

    - #### invalidate

          public void invalidate()

      Overriden for performance reasons.
      Overrides:
        `invalidate` in class `Container`
      Since:
        1.1

    - #### revalidate

          public void revalidate()

      Overriden for performance reasons.
      Overrides:
        `revalidate` in class `JComponent`
      Since:
        1.1

    - #### firePropertyChange

          public void firePropertyChange(String propertyName,
                                         boolean oldValue,
                                         boolean newValue)

      Overriden for performance reasons.
      Overrides:
        `firePropertyChange` in class `JComponent`
      Since:
        1.1

    - #### firePropertyChange

          public void firePropertyChange(String propertyName,
                                         byte oldValue,
                                         byte newValue)

      Overriden for performance reasons.
      Overrides:
        `firePropertyChange` in class `Component`
      Since:
        1.1

    - #### firePropertyChange

          public void firePropertyChange(String propertyName,
                                         char oldValue,
                                         char newValue)

      Overriden for performance reasons.
      Overrides:
        `firePropertyChange` in class `JComponent`
      Since:
        1.1

    - #### firePropertyChange

          public void firePropertyChange(String propertyName,
                                         double oldValue,
                                         double newValue)

      Overriden for performance reasons.
      Overrides:
        `firePropertyChange` in class `Component`
      Since:
        1.1

    - #### firePropertyChange

          public void firePropertyChange(String propertyName,
                                         float oldValue,
                                         float newValue)

      Overriden for performance reasons.
      Overrides:
        `firePropertyChange` in class `Component`
      Since:
        1.1

    - #### firePropertyChange

          public void firePropertyChange(String propertyName,
                                         long oldValue,
                                         long newValue)

      Overriden for performance reasons.
      Overrides:
        `firePropertyChange` in class `Component`
      Since:
        1.1

    - #### firePropertyChange

          protected void firePropertyChange(String propertyName,
                                            Object oldValue,
                                            Object newValue)

      Overriden for performance reasons.
      Overrides:
        `firePropertyChange` in class `Component`
      Since:
        1.1

    - #### firePropertyChange

          public void firePropertyChange(String propertyName,
                                         short oldValue,
                                         short newValue)

      Overriden for performance reasons.
      Overrides:
        `firePropertyChange` in class `Component`
      Since:
        1.1

    - #### repaint

          public void repaint()

      Overriden for performance reasons.
      Overrides:
        `repaint` in class `Component`
      Since:
        1.1

    - #### repaint

          public void repaint(int x,
                              int y,
                              int width,
                              int height)

      Overriden for performance reasons.
      Overrides:
        `repaint` in class `Component`
      Since:
        1.1

    - #### repaint

          public void repaint(long tm)

      Overriden for performance reasons.
      Overrides:
        `repaint` in class `Component`
      Since:
        1.1

    - #### isVisible

          public boolean isVisible()

      Overriden in order to fix a bug in AWT, which causes the cursor to flicker during drag and drop operations. *
      Overrides:
        `isVisible` in class `Component`
      Since:
        1.1

Copyright © 2006–2020 Dirk Lemmermann Software & Consulting. All rights reserved.