com.dlsc.flexgantt.swing.layer

## Class LayerContainerScrollPane

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - javax.swing.JComponent
      - - javax.swing.JScrollPane
        - - com.dlsc.flexgantt.swing.layer.LayerContainerScrollPane

- All Implemented Interfaces:
    IDatelineModelListener, ImageObserver, MenuContainer, PropertyChangeListener, Serializable, EventListener, Accessible, ScrollPaneConstants

      public class LayerContainerScrollPane
      extends JScrollPane
      implements IDatelineModelListener, PropertyChangeListener

  A scrollpane customized for use with a layer container and a timeline. The scrollpane implements various listeners to react to changes in the dateline model, or the Gantt chart. The scrollpane uses a primary flag, which tells the scrollpane whether it is used to display the timeline or not (more generally: whether it is the scrollpane that is used at the top of the Gantt chart).
  Since:
    1.0
  Version:
    $Revision: 1.14 $
  Author:
    Dirk Lemmermann
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class javax.swing.JScrollPane

      `JScrollPane.AccessibleJScrollPane, JScrollPane.ScrollBar`

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

      `columnHeader, horizontalScrollBar, horizontalScrollBarPolicy, lowerLeft, lowerRight, rowHeader, upperLeft, upperRight, verticalScrollBar, verticalScrollBarPolicy, viewport`

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

      `COLUMN_HEADER, HORIZONTAL_SCROLLBAR, HORIZONTAL_SCROLLBAR_ALWAYS, HORIZONTAL_SCROLLBAR_AS_NEEDED, HORIZONTAL_SCROLLBAR_NEVER, HORIZONTAL_SCROLLBAR_POLICY, LOWER_LEADING_CORNER, LOWER_LEFT_CORNER, LOWER_RIGHT_CORNER, LOWER_TRAILING_CORNER, ROW_HEADER, UPPER_LEADING_CORNER, UPPER_LEFT_CORNER, UPPER_RIGHT_CORNER, UPPER_TRAILING_CORNER, VERTICAL_SCROLLBAR, VERTICAL_SCROLLBAR_ALWAYS, VERTICAL_SCROLLBAR_AS_NEEDED, VERTICAL_SCROLLBAR_NEVER, VERTICAL_SCROLLBAR_POLICY, VIEWPORT`

    - ### Fields inherited from interface java.awt.image.ImageObserver

      `ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `LayerContainerScrollPane(LayerContainer lc, LayerContainerRowHeader rowHeader, Timeline timeline, boolean primary)` Constructs a new layer container scrollpane.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `datelineModelChanged(DatelineModelEvent e)` The listener's callback method that gets invoked when the model's time span or time zone changes.
    `void` | `datelineModelWillChange(DatelineModelEvent evt)` The listener's callback method that gets invoked when the model's time span or time zone will change.
    `AbstractGanttChart` | `getGanttChart()` Returns the Gantt chart to which the layer container scrollpane belongs.
    `LayerContainer` | `getLayerContainer()` Returns the layer container wrapped by the scrollpane.
    `LayerContainerRowHeader` | `getLayerContainerRowHeader()` The row header used by the layer container.
    `Dimension` | `getMinimumSize()` The scrollpane's minimum size depends on the row header, the column header or the horizontal scrollpane.
    `Timeline` | `getTimeline()` Returns the timeline that is displayed as the column header view if the scrollpane is the primary one.
    `boolean` | `isPrimary()` Returns TRUE if the scrollpane is the primary scrollpane (displays the timeline and navigation control).
    `void` | `propertyChange(PropertyChangeEvent evt)`

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

      `createHorizontalScrollBar, createVerticalScrollBar, createViewport, getAccessibleContext, getColumnHeader, getCorner, getHorizontalScrollBar, getHorizontalScrollBarPolicy, getRowHeader, getUI, getUIClassID, getVerticalScrollBar, getVerticalScrollBarPolicy, getViewport, getViewportBorder, getViewportBorderBounds, isValidateRoot, isWheelScrollingEnabled, paramString, setColumnHeader, setColumnHeaderView, setComponentOrientation, setCorner, setHorizontalScrollBar, setHorizontalScrollBarPolicy, setLayout, setRowHeader, setRowHeaderView, setUI, setVerticalScrollBar, setVerticalScrollBarPolicy, setViewport, setViewportBorder, setViewportView, setWheelScrollingEnabled, 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, 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, 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, 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, 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

    - #### LayerContainerScrollPane

          public LayerContainerScrollPane(LayerContainer lc,
                                          LayerContainerRowHeader rowHeader,
                                          Timeline timeline,
                                          boolean primary)

      Constructs a new layer container scrollpane.
      Parameters:
        `lc` - the layer container that serves as a viewport view
        `rowHeader` - the row header shown to the left of the layer container
        `timeline` - the timeline that will be added as a column header view
        `primary` - a flag indicating whether this scrollpane is the primary one (will be used at the top of the Gantt chart and displays the timeline and navigation control)
      Since:
        1.0

  - ### Method Detail

    - #### getLayerContainer

          public LayerContainer getLayerContainer()

      Returns the layer container wrapped by the scrollpane.
      Returns:
        the layer container
      Since:
        1.0

    - #### isPrimary

          public boolean isPrimary()

      Returns TRUE if the scrollpane is the primary scrollpane (displays the timeline and navigation control).
      Returns:
        TRUE if the scrollpane is the primary layer container scrollpane
      Since:
        1.0

    - #### getMinimumSize

          public Dimension getMinimumSize()

      The scrollpane's minimum size depends on the row header, the column header or the horizontal scrollpane. If the scrollpane is the primary scrollpane then the minimum height is equal to the height of the timeline. If the scrollpane is not the primary one, then the minimum height is equal to the preferred height of the horizontal scrollbar. The minimum width is always equal to the preferred width of the vertical scrollbar. These constraints ensure that the timeline and the scrollbars are always visible.
      Overrides:
        `getMinimumSize` in class `JComponent`
      Since:
        1.0
      See Also:
        `JComponent.getMinimumSize()`

    - #### getTimeline

          public Timeline getTimeline()

      Returns the timeline that is displayed as the column header view if the scrollpane is the primary one.
      Returns:
        the scrollpane's timeline (if scrollpane is the primary one)
      Since:
        1.0

    - #### datelineModelWillChange

          public void datelineModelWillChange(DatelineModelEvent evt)

      Description copied from interface: `IDatelineModelListener`
      The listener's callback method that gets invoked when the model's time span or time zone will change.
      Specified by:
        `datelineModelWillChange` in interface `IDatelineModelListener`
      Parameters:
        `evt` - the event that occured on the dateline

    - #### datelineModelChanged

          public void datelineModelChanged(DatelineModelEvent e)

      Description copied from interface: `IDatelineModelListener`
      The listener's callback method that gets invoked when the model's time span or time zone changes.
      Specified by:
        `datelineModelChanged` in interface `IDatelineModelListener`
      Parameters:
        `e` - the event that occured on the dateline

    - #### getLayerContainerRowHeader

          public LayerContainerRowHeader getLayerContainerRowHeader()

      The row header used by the layer container.
      Returns:
        the row header
      Since:
        1.0

    - #### getGanttChart

          public AbstractGanttChart getGanttChart()

      Returns the Gantt chart to which the layer container scrollpane belongs.
      Returns:
        the parent Gantt chart container
      Since:
        1.0

    - #### propertyChange

          public void propertyChange(PropertyChangeEvent evt)

      Specified by:
        `propertyChange` in interface `PropertyChangeListener`

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