com.smartgwt.client.widgets

## Class Scrollbar

- java.lang.Object
- - com.google.gwt.user.client.ui.UIObject
  - - com.google.gwt.user.client.ui.Widget
    - - com.smartgwt.client.widgets.BaseWidget
      - - com.smartgwt.client.widgets.Canvas
        - - com.smartgwt.client.widgets.StatefulCanvas
          - - com.smartgwt.client.widgets.StretchImg
            - - com.smartgwt.client.widgets.Scrollbar

- All Implemented Interfaces:
    com.google.gwt.event.logical.shared.HasAttachHandlers, com.google.gwt.event.shared.HasHandlers, com.google.gwt.user.client.EventListener, com.google.gwt.user.client.ui.HasVisibility, com.google.gwt.user.client.ui.IsWidget, LogicalStructure, HasClickHandlers, HasDoubleClickHandlers, HasDragMoveHandlers, HasDragRepositionMoveHandlers, HasDragRepositionStartHandlers, HasDragRepositionStopHandlers, HasDragResizeMoveHandlers, HasDragResizeStartHandlers, HasDragResizeStopHandlers, HasDragStartHandlers, HasDragStopHandlers, HasDropHandlers, HasDropMoveHandlers, HasDropOutHandlers, HasDropOverHandlers, HasFocusChangedHandlers, HasHoverHandlers, HasHoverHiddenHandlers, HasKeyDownHandlers, HasKeyPressHandlers, HasMouseDownHandlers, HasMouseMoveHandlers, HasMouseOutHandlers, HasMouseOverHandlers, HasMouseStillDownHandlers, HasMouseUpHandlers, HasMouseWheelHandlers, HasMovedHandlers, HasParentMovedHandlers, HasResizedHandlers, HasRightMouseDownHandlers, HasScrolledHandlers, HasShowContextMenuHandlers, HasVisibilityChangedHandlers

      public class Scrollbar
      extends StretchImg

  The Scrollbar widget implements cross-platform, image-based scrollbars that control the scrolling of content in other widgets. Scrollbar widgets are created and displayed automatically for widgets that require them, based on settings for `overflow`.

  The scrollbar's appearance is based on a `StretchImg` for the "track", which consists of two fixed size buttons and a stretchable center segment, and the ScrollThumb, the draggable portion of the scrollbar, also a StretchImg, with an optional `grip`.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject

      `com.google.gwt.user.client.ui.UIObject.DebugIdImpl, com.google.gwt.user.client.ui.UIObject.DebugIdImplEnabled`

  - ### Field Summary

    - ### Fields inherited from class com.smartgwt.client.widgets.BaseWidget

      `config, configOnly, id, isElementSet, nativeObject, scClassName`

    - ### Fields inherited from class com.google.gwt.user.client.ui.UIObject

      `DEBUG_ID_PREFIX`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Scrollbar()`
    `Scrollbar(com.google.gwt.core.client.JavaScriptObject jsObj)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, Canvas defaults)` Changes the defaults for Canvas AutoChildren named `autoChildName`.
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, FormItem defaults)` Changes the defaults for FormItem AutoChildren named `autoChildName`.
    `protected com.google.gwt.core.client.JavaScriptObject` | `create()`
    `java.lang.Boolean` | `getAllowThumbDownState()` If true, the thumb's appearance changes when it's clicked on.
    `java.lang.Boolean` | `getAllowThumbOverState()` If true, the thumb's appearance changes when the user rolls over it.
    `java.lang.Boolean` | `getAutoEnable()` If true, this scrollbar will automatically enable when the scrollTarget is scrollable (i.e., when the contents of the scrollTarget exceed its clip size in the direction relevant to this scrollbar), and automatically disable when the scrollTarget is not scrollable.
    `int` | `getBtnSize()` The size of the square buttons (arrows) at the ends of this scrollbar.
    `StretchItem` | `getCornerImg()` The StretchItem for the corner between vertical and horizontal scrollbars.
    `java.lang.Integer` | `getCornerSize()` Allows the size of the corner segment to be set independently of the `btnSize`.
    `java.lang.String` | `getCornerSrc()` URL for the corner image, a singular image that appears in the corner when both h and v scrollbars are showing.
    `StretchItem` | `getEndImg()` The StretchItem for the end of a scrollbar (the "scroll down" or "scroll right" button image).
    `java.lang.Integer` | `getEndThumbOverlap()` Number of pixels the thumb is allowed to overlap the buttons at the end of the track.
    `java.lang.String` | `getHSrc()` Base URL for the images used for the horizontal scrollbar track and end buttons.
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `getLogicalStructure()`
    `static Scrollbar` | `getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `java.lang.Boolean` | `getShowCorner()` If true, displays a corner piece at the bottom end of a vertical scrollbar, or the right end of a horizontal scrollbar.
    `java.lang.Boolean` | `getShowTrackButtons()` Should the track buttons that allow page scrolling be shown?
    `java.lang.Boolean` | `getShowTrackEnds()` If true, the scrollbar uses a 5-segment rather than 3-segment image representation, where the 3 interior image segments have the same state (Down, Over, etc), independent of the two outermost image segments.
    `java.lang.String` | `getSkinImgDir()` Where are the skin images for the Scrollbar.
    `StretchItem` | `getStartImg()` The StretchItem for the start of a scrollbar (the "scroll up" or "scroll left" button image).
    `java.lang.Integer` | `getStartThumbOverlap()` Number of pixels the thumb is allowed to overlap the buttons at the start of the track.
    `java.lang.Integer` | `getThumbInset()` Inset of the thumb relative to the track.
    `int` | `getThumbMinSize()` The minimum pixel size of the draggable thumb regardless of how large the scrolling region becomes.
    `int` | `getThumbOverlap()` Number of pixels the thumb is allowed to overlap the buttons at each end of the track.
    `int` | `getTrackEndHeight()` The minimum pixel height of the track end segments (if enabled with showTrackEnds).
    `StretchItem` | `getTrackEndImg()` The StretchItem for the end of a scrollbar track.
    `int` | `getTrackEndWidth()` The minimum pixel width of the track end segments (if enabled with showTrackEnds).
    `StretchItem` | `getTrackImg()` The StretchItem for the middle part of a scrollbar track, which usually takes up the majority of the width or height of the scrollbar.
    `StretchItem` | `getTrackStartImg()` The StretchItem for the start of a scrollbar track.
    `java.lang.String` | `getVSrc()` Base URL for the images used for the vertical scrollbar track and end buttons.
    `static void` | `preloadImages()` Preload primary Scrollbar skin images.
    `void` | `setAllowThumbDownState(java.lang.Boolean allowThumbDownState)` If true, the thumb's appearance changes when it's clicked on.
    `void` | `setAllowThumbOverState(java.lang.Boolean allowThumbOverState)` If true, the thumb's appearance changes when the user rolls over it.
    `void` | `setAutoEnable(java.lang.Boolean autoEnable)` If true, this scrollbar will automatically enable when the scrollTarget is scrollable (i.e., when the contents of the scrollTarget exceed its clip size in the direction relevant to this scrollbar), and automatically disable when the scrollTarget is not scrollable.
    `void` | `setBtnSize(int btnSize)` The size of the square buttons (arrows) at the ends of this scrollbar.
    `void` | `setCornerImg(StretchItem cornerImg)` The StretchItem for the corner between vertical and horizontal scrollbars.
    `void` | `setCornerSize(java.lang.Integer cornerSize)` Allows the size of the corner segment to be set independently of the `btnSize`.
    `void` | `setCornerSrc(java.lang.String cornerSrc)` URL for the corner image, a singular image that appears in the corner when both h and v scrollbars are showing.
    `static void` | `setDefaultProperties(Scrollbar scrollbarProperties)` Class level method to set the default properties of this class.
    `void` | `setEndImg(StretchItem endImg)` The StretchItem for the end of a scrollbar (the "scroll down" or "scroll right" button image).
    `void` | `setEndThumbOverlap(java.lang.Integer endThumbOverlap)` Number of pixels the thumb is allowed to overlap the buttons at the end of the track.
    `void` | `setHSrc(java.lang.String hSrc)` Base URL for the images used for the horizontal scrollbar track and end buttons.
    `void` | `setJavaScriptObject(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `setLogicalStructure(com.smartgwt.logicalstructure.widgets.ScrollbarLogicalStructure s)`
    `void` | `setShowCorner(java.lang.Boolean showCorner)` If true, displays a corner piece at the bottom end of a vertical scrollbar, or the right end of a horizontal scrollbar.
    `void` | `setShowTrackButtons(java.lang.Boolean showTrackButtons)` Should the track buttons that allow page scrolling be shown?
    `void` | `setShowTrackEnds(java.lang.Boolean showTrackEnds)` If true, the scrollbar uses a 5-segment rather than 3-segment image representation, where the 3 interior image segments have the same state (Down, Over, etc), independent of the two outermost image segments.
    `void` | `setSkinImgDir(java.lang.String skinImgDir)` Where are the skin images for the Scrollbar.
    `void` | `setStartImg(StretchItem startImg)` The StretchItem for the start of a scrollbar (the "scroll up" or "scroll left" button image).
    `void` | `setStartThumbOverlap(java.lang.Integer startThumbOverlap)` Number of pixels the thumb is allowed to overlap the buttons at the start of the track.
    `void` | `setThumbInset(java.lang.Integer thumbInset)` Inset of the thumb relative to the track.
    `void` | `setThumbMinSize(int thumbMinSize)` The minimum pixel size of the draggable thumb regardless of how large the scrolling region becomes.
    `void` | `setThumbOverlap(int thumbOverlap)` Number of pixels the thumb is allowed to overlap the buttons at each end of the track.
    `void` | `setTrackEndHeight(int trackEndHeight)` The minimum pixel height of the track end segments (if enabled with showTrackEnds).
    `void` | `setTrackEndImg(StretchItem trackEndImg)` The StretchItem for the end of a scrollbar track.
    `void` | `setTrackEndWidth(int trackEndWidth)` The minimum pixel width of the track end segments (if enabled with showTrackEnds).
    `void` | `setTrackImg(StretchItem trackImg)` The StretchItem for the middle part of a scrollbar track, which usually takes up the majority of the width or height of the scrollbar.
    `void` | `setTrackStartImg(StretchItem trackStartImg)` The StretchItem for the start of a scrollbar track.
    `void` | `setVSrc(java.lang.String vSrc)` Base URL for the images used for the vertical scrollbar track and end buttons.

    - ### Methods inherited from class com.smartgwt.client.widgets.StretchImg

      `getCapSize, getGripImgSuffix, getIgnoreRTL, getImageType, getItemBaseStyle, getItems, getShowDownGrip, getShowGrip, getShowRollOverGrip, getShowTitle, getSrc, getVertical, setCapSize, setDefaultProperties, setGripImgSuffix, setIgnoreRTL, setImageType, setItemBaseStyle, setItems, setLogicalStructure, setShowDownGrip, setShowGrip, setShowRollOverGrip, setShowTitle, setSrc, setState, setState, setVertical`

    - ### Methods inherited from class com.smartgwt.client.widgets.StatefulCanvas

      `addToRadioGroup, deselect, getActionType, getAlign, getAutoFit, getBaseStyle, getIcon, getIconHeight, getIconOrientation, getIconSize, getIconWidth, getOverCanvas, getOverCanvasConstructor, getRadioGroup, getRedrawOnStateChange, getSelected, getShowDisabled, getShowDisabledIcon, getShowDown, getShowDownIcon, getShowFocused, getShowFocusedAsOver, getShowFocusedIcon, getShowOverCanvas, getShowRollOver, getShowRollOverIcon, getShowSelectedIcon, getState, getStateSuffix, getTitle, getValign, isSelected, removeFromRadioGroup, removeFromRadioGroup, select, setActionType, setAlign, setAutoFit, setBaseStyle, setDefaultProperties, setIcon, setIconHeight, setIconOrientation, setIconSize, setIconWidth, setLogicalStructure, setOverCanvasConstructor, setRadioGroup, setRedrawOnStateChange, setSelected, setShowDisabled, setShowDisabledIcon, setShowDown, setShowDownIcon, setShowFocused, setShowFocusedAsOver, setShowFocusedIcon, setShowOverCanvas, setShowRollOver, setShowRollOverIcon, setShowSelectedIcon, setState, setTitle, setTitleStyle, setValign`

    - ### Methods inherited from class com.smartgwt.client.widgets.Canvas

      `addChild, addChild, addChild, addChild, addChild, addClickHandler, addDoubleClickHandler, addDragMoveHandler, addDragRepositionMoveHandler, addDragRepositionStartHandler, addDragRepositionStopHandler, addDragResizeMoveHandler, addDragResizeStartHandler, addDragResizeStopHandler, addDragStartHandler, addDragStopHandler, addDropHandler, addDropMoveHandler, addDropOutHandler, addDropOverHandler, addFocusChangedHandler, addHoverHandler, addHoverHiddenHandler, addKeyDownHandler, addKeyPressHandler, addMouseDownHandler, addMouseMoveHandler, addMouseOutHandler, addMouseOverHandler, addMouseStillDownHandler, addMouseUpHandler, addMouseWheelHandler, addMovedHandler, addParentMovedHandler, addPeer, addPeer, addPeer, addPeer, addResizedHandler, addRightMouseDownHandler, addScrolledHandler, addShowContextMenuHandler, addStyleName, addVisibilityChangedHandler, adjustForContent, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateHide, animateHide, animateHide, animateMove, animateMove, animateMove, animateMove, animateRect, animateRect, animateRect, animateRect, animateResize, animateResize, animateResize, animateResize, animateScroll, animateScroll, animateScroll, animateScroll, animateScroll, animateScroll, animateShow, animateShow, animateShow, asSGWTComponent, blur, bringToFront, clear, clickMaskUp, clickMaskUp, contains, contains, containsEvent, containsFocus, containsPoint, containsPoint, deparent, depeer, disable, enable, focus, focusInNextTabElement, focusInPreviousTabElement, getAbsoluteLeft, getAbsoluteTop, getAccessKey, getAnimateAcceleration, getAnimateFadeTime, getAnimateHideAcceleration, getAnimateHideTime, getAnimateMoveAcceleration, getAnimateMoveTime, getAnimateRectAcceleration, getAnimateRectTime, getAnimateResizeAcceleration, getAnimateResizeTime, getAnimateScrollAcceleration, getAnimateScrollTime, getAnimateShowAcceleration, getAnimateShowEffect, getAnimateShowTime, getAnimateTime, getAppImgDir, getAriaRole, getAutoDraw, getAutoShowParent, getBackgroundColor, getBackgroundImage, getBackgroundPosition, getBackgroundRepeat, getBorder, getBottom, getById, getByJSObject, getByLocalId, getCanAcceptDrop, getCanDrag, getCanDragReposition, getCanDragResize, getCanDragScroll, getCanDrop, getCanDropBefore, getCanFocus, getCanHover, getCanSelectText, getCanvasAutoChild, getCanvasItem, getChildren, getChildrenSnapResizeToGrid, getChildrenSnapToGrid, getClassName, getContentElement, getContents, getContextMenu, getCursor, getDataPath, getDefaultHeight, getDefaultWidth, getDestroyed, getDestroying, getDisabled, getDisabledCursor, getDoubleClickDelay, getDragAppearance, getDragIntersectStyle, getDragOpacity, getDragRepositionAppearance, getDragRepositionCursor, getDragResizeAppearance, getDragScrollDelay, getDragStartDistance, getDragTarget, getDragType, getDropTypes, getDynamicContents, getEdgeBackgroundColor, getEdgeCenterBackgroundColor, getEdgeImage, getEdgeMarginSize, getEdgeOffset, getEdgeOpacity, getEdgeShowCenter, getEdgeSize, getEventEdge, getEventEdge, getExtraSpace, getFacetId, getFormItemAutoChild, getFullDataPath, getGroupBorderCSS, getGroupLabelBackgroundColor, getGroupLabelStyleName, getGroupTitle, getHeight, getHeightAsString, getHideUsingDisplayNone, getHoverAlign, getHoverAutoDestroy, getHoverComponent, getHoverDelay, getHoverHeight, getHoverHTML, getHoverMoveWithMouse, getHoverOpacity, getHoverStyle, getHoverVAlign, getHoverWidth, getHoverWrap, getHSnapOrigin, getHSnapOrigin, getHSnapPosition, getHSnapPosition, getHtmlPosition, getImage, getImgURL, getImgURL, getInnerContentHeight, getInnerContentWidth, getInnerHeight, getInnerWidth, getIsGroup, getKeepInParentRect, getLayoutAlign, getLeft, getLeftAsString, getLocateChildrenBy, getLocateChildrenType, getLocatePeersBy, getLocatePeersType, getMargin, getMasterElement, getMatchElement, getMaxHeight, getMaxWidth, getMenuConstructor, getMinHeight, getMinWidth, getMouseStillDownDelay, getMouseStillDownInitialDelay, getNextZIndex, getNoDoubleClicks, getOffsetHeight, getOffsetWidth, getOffsetX, getOffsetY, getOpacity, getOuterElement, getOverflow, getPadding, getPageBottom, getPageLeft, getPageRect, getPageRight, getPageTop, getParentElement, getPeers, getPercentBox, getPercentSource, getPosition, getPrefix, getPrintChildrenAbsolutelyPositioned, getPrintHTML, getPrintHTML, getPrompt, getRect, getRedrawOnResize, getResizeBarTarget, getResizeFrom, getRight, getScrollbarSize, getScrollBottom, getScrollHeight, getScrollLeft, getScrollRight, getScrollTop, getScrollWidth, getShadowDepth, getShadowImage, getShadowOffset, getShadowSoftness, getShouldPrint, getShowCustomScrollbars, getShowDragShadow, getShowEdges, getShowHover, getShowHoverComponents, getShowResizeBar, getShowShadow, getSnapAxis, getSnapEdge, getSnapHDirection, getSnapHGap, getSnapOffsetLeft, getSnapOffsetTop, getSnapOnDrop, getSnapResizeToGrid, getSnapTo, getSnapToGrid, getSnapVDirection, getSnapVGap, getStyleName, getTabIndex, getTestInstance, getTooltip, getTop, getTopAsString, getTopElement, getUseBackMask, getUseOpacityFilter, getValuesManager, getViewportHeight, getViewportWidth, getVisibility, getVisibleHeight, getVisibleWidth, getVSnapOrigin, getVSnapOrigin, getVSnapPosition, getVSnapPosition, getWidth, getWidthAsString, getZIndex, handleHover, hide, hideClickMask, hideClickMask, hideContextMenu, imgHTML, imgHTML, imgHTML, intersects, isDirty, isDisabled, isDrawn, isVisible, keyUp, layoutChildren, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, markForDestroy, markForRedraw, markForRedraw, moveAbove, moveBelow, moveBy, moveTo, onAttach, onDetach, onInit, parentResized, printComponents, redraw, redraw, removeChild, removeChild, removePeer, removePeer, resizeBy, resizeTo, resizeTo, scrollBy, scrollByPercent, scrollTo, scrollTo, scrollTo, scrollToBottom, scrollToLeft, scrollToPercent, scrollToRight, scrollToTop, sendToBack, setAccessKey, setAllowExternalFilters, setAnimateAcceleration, setAnimateFadeTime, setAnimateHideAcceleration, setAnimateHideTime, setAnimateMoveAcceleration, setAnimateMoveTime, setAnimateRectAcceleration, setAnimateRectTime, setAnimateResizeAcceleration, setAnimateResizeTime, setAnimateScrollAcceleration, setAnimateScrollTime, setAnimateShowAcceleration, setAnimateShowEffect, setAnimateShowTime, setAnimateTime, setAppImgDir, setAriaRole, setAriaState, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setAutoDraw, setAutoHeight, setAutoShowParent, setAutoWidth, setBackgroundColor, setBackgroundImage, setBackgroundPosition, setBackgroundRepeat, setBorder, setBottom, setCanAcceptDrop, setCanDrag, setCanDragReposition, setCanDragResize, setCanDragScroll, setCanDrop, setCanDropBefore, setCanFocus, setCanHover, setCanSelectText, setCanvasItem, setChildren, setChildrenSnapResizeToGrid, setChildrenSnapToGrid, setContents, setContextMenu, setCursor, setDataPath, setDefaultHeight, setDefaultProperties, setDefaultWidth, setDisabled, setDisabledCursor, setDoubleClickDelay, setDragAppearance, setDragIntersectStyle, setDragOpacity, setDragRepositionAppearance, setDragRepositionCursor, setDragResizeAppearance, setDragScrollDelay, setDragStartDistance, setDragTarget, setDragType, setDropTypes, setDynamicContents, setEdgeBackgroundColor, setEdgeCenterBackgroundColor, setEdgeImage, setEdgeMarginSize, setEdgeOffset, setEdgeOpacity, setEdgeShowCenter, setEdgeSize, setExtraSpace, setFacetId, setGroupBorderCSS, setGroupLabelBackgroundColor, setGroupLabelStyleName, setGroupTitle, setHeight, setHeight, setHeight100, setHideUsingDisplayNone, setHoverAlign, setHoverAutoDestroy, setHoverDelay, setHoverHeight, setHoverMoveWithMouse, setHoverOpacity, setHoverStyle, setHoverVAlign, setHoverWidth, setHoverWrap, setHtmlPosition, setImage, setImage, setIsGroup, setKeepInParentRect, setKeepInParentRect, setKeepInParentRect, setLayoutAlign, setLayoutAlign, setLeft, setLeft, setLocateChildrenBy, setLocateChildrenType, setLocatePeersBy, setLocatePeersType, setLogicalStructure, setMargin, setMatchElement, setMaxHeight, setMaxWidth, setMenuConstructor, setMinHeight, setMinWidth, setMouseStillDownDelay, setMouseStillDownInitialDelay, setNeverUseFilters, setNoDoubleClicks, setOpacity, setOverflow, setPadding, setPageLeft, setPageTop, setParentElement, setPeers, setPercentBox, setPercentSource, setPosition, setPrefix, setPrintChildrenAbsolutelyPositioned, setPrompt, setRect, setRect, setRedrawOnResize, setResizeBarTarget, setResizeFrom, setResizeFrom, setRight, setScrollbarConstructor, setScrollbarSize, setShadowDepth, setShadowImage, setShadowOffset, setShadowSoftness, setShouldPrint, setShowCustomScrollbars, setShowDragShadow, setShowEdges, setShowHover, setShowHoverComponents, setShowResizeBar, setShowShadow, setSmoothFade, setSnapAxis, setSnapEdge, setSnapHDirection, setSnapHGap, setSnapOffsetLeft, setSnapOffsetTop, setSnapOnDrop, setSnapResizeToGrid, setSnapTo, setSnapToGrid, setSnapVDirection, setSnapVGap, setStyleName, setTabIndex, setTooltip, setTop, setTop, setUseBackMask, setUseOpacityFilter, setValuesManager, setVisibility, setVisible, setWidth, setWidth, setWidth100, setZIndex, shouldDragScroll, show, showClickMask, showNextTo, showNextTo, showNextTo, showNextTo, showPrintPreview, showPrintPreview, showPrintPreview, showPrintPreview, showRecursively, updateHover, updateHover, updateShadow, visibleAtPoint, willAcceptDrop`

    - ### Methods inherited from class com.smartgwt.client.widgets.BaseWidget

      `addDrawHandler, destroy, doAddHandler, doInit, doOnRender, draw, equals, error, errorIfNotCreated, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDateArray, getAttributeAsDouble, getAttributeAsElement, getAttributeAsFloat, getAttributeAsFloatArray, getAttributeAsInt, getAttributeAsIntArray, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsRecord, getAttributeAsString, getAttributeAsStringArray, getConfig, getDOM, getElement, getElement, getHandlerCount, getID, getInnerHTML, getJsObj, getOrCreateJsObj, getRef, getScClassName, hashCode, initNativeObject, internalSetID, internalSetID, isConfigOnly, isCreated, onBind, onDestroy, onDraw, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setConfig, setConfigOnly, setDragTracker, setElement, setHtmlElement, setID, setLogicalStructure, setNullProperty, setPosition, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setScClassName, toString`

    - ### Methods inherited from class com.google.gwt.user.client.ui.Widget

      `addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, fireEvent, getLayoutData, getParent, isAttached, isOrWasAttached, onBrowserEvent, onLoad, onUnload, removeFromParent, setLayoutData, sinkEvents`

    - ### Methods inherited from class com.google.gwt.user.client.ui.UIObject

      `addStyleDependentName, ensureDebugId, ensureDebugId, ensureDebugId, getStyleElement, getStyleName, getStylePrimaryName, getStylePrimaryName, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, resolvePotentialElement, setElement, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setVisible, sinkBitlessEvent, unsinkEvents`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface com.google.gwt.event.shared.HasHandlers

      `fireEvent`

- - ### Constructor Detail

    - #### Scrollbar

          public Scrollbar()

    - #### Scrollbar

          public Scrollbar(com.google.gwt.core.client.JavaScriptObject jsObj)

  - ### Method Detail

    - #### getOrCreateRef

          public static Scrollbar getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)

    - #### setJavaScriptObject

          public void setJavaScriptObject(com.google.gwt.core.client.JavaScriptObject jsObj)

      Overrides:
        `setJavaScriptObject` in class `StretchImg`

    - #### changeAutoChildDefaults

          public static void changeAutoChildDefaults(java.lang.String autoChildName,
                                     Canvas defaults)

      Changes the defaults for Canvas AutoChildren named `autoChildName`.
      Parameters:
        `autoChildName` - name of an AutoChild to customize the defaults for.
        `defaults` - Canvas defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties.
      See Also:
        `AutoChildUsage`

    - #### changeAutoChildDefaults

          public static void changeAutoChildDefaults(java.lang.String autoChildName,
                                     FormItem defaults)

      Changes the defaults for FormItem AutoChildren named `autoChildName`.
      Parameters:
        `autoChildName` - name of an AutoChild to customize the defaults for.
        `defaults` - FormItem defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties.
      See Also:
        `AutoChildUsage`

    - #### create

          protected com.google.gwt.core.client.JavaScriptObject create()

      Overrides:
        `create` in class `StretchImg`

    - #### setAllowThumbDownState

          public void setAllowThumbDownState(java.lang.Boolean allowThumbDownState)
                                      throws java.lang.IllegalStateException

      If true, the thumb's appearance changes when it's clicked on.

      Note : This is an advanced setting

      Parameters:
        `allowThumbDownState` - allowThumbDownState Default value is false
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getAllowThumbDownState

          public java.lang.Boolean getAllowThumbDownState()

      If true, the thumb's appearance changes when it's clicked on.
      Returns:
        Boolean

    - #### setAllowThumbOverState

          public void setAllowThumbOverState(java.lang.Boolean allowThumbOverState)
                                      throws java.lang.IllegalStateException

      If true, the thumb's appearance changes when the user rolls over it.

      Note : This is an advanced setting

      Parameters:
        `allowThumbOverState` - allowThumbOverState Default value is false
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getAllowThumbOverState

          public java.lang.Boolean getAllowThumbOverState()

      If true, the thumb's appearance changes when the user rolls over it.
      Returns:
        Boolean

    - #### setAutoEnable

          public void setAutoEnable(java.lang.Boolean autoEnable)

      If true, this scrollbar will automatically enable when the scrollTarget is scrollable (i.e., when the contents of the scrollTarget exceed its clip size in the direction relevant to this scrollbar), and automatically disable when the scrollTarget is not scrollable. Set this property to false for full manual control over a scrollbar's enabled state.

      Note : This is an advanced setting

      Parameters:
        `autoEnable` - autoEnable Default value is true

    - #### getAutoEnable

          public java.lang.Boolean getAutoEnable()

      If true, this scrollbar will automatically enable when the scrollTarget is scrollable (i.e., when the contents of the scrollTarget exceed its clip size in the direction relevant to this scrollbar), and automatically disable when the scrollTarget is not scrollable. Set this property to false for full manual control over a scrollbar's enabled state.
      Returns:
        Boolean

    - #### setBtnSize

          public void setBtnSize(int btnSize)

      The size of the square buttons (arrows) at the ends of this scrollbar. This overrides the width of a vertical scrollbar or the height of a horizontal scrollbar to set the scrollbar's thickness.
      Parameters:
        `btnSize` - btnSize Default value is 16

    - #### getBtnSize

          public int getBtnSize()

      The size of the square buttons (arrows) at the ends of this scrollbar. This overrides the width of a vertical scrollbar or the height of a horizontal scrollbar to set the scrollbar's thickness.
      Returns:
        int

    - #### setCornerImg

          public void setCornerImg(StretchItem cornerImg)
                            throws java.lang.IllegalStateException

      The StretchItem for the corner between vertical and horizontal scrollbars. The width and height are determined automatically, so `width` and `height` set on the cornerImg StretchItem are ignored. The default is: `new StretchItem("corner", null, null)`
      Parameters:
        `cornerImg` - cornerImg Default value is see below
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getCornerImg

          public StretchItem getCornerImg()

      The StretchItem for the corner between vertical and horizontal scrollbars. The width and height are determined automatically, so `width` and `height` set on the cornerImg StretchItem are ignored. The default is: `new StretchItem("corner", null, null)`
      Returns:
        StretchItem

    - #### setCornerSize

          public void setCornerSize(java.lang.Integer cornerSize)
                             throws java.lang.IllegalStateException

      Allows the size of the corner segment to be set independently of the `btnSize`.
      Parameters:
        `cornerSize` - cornerSize Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getCornerSize

          public java.lang.Integer getCornerSize()

      Allows the size of the corner segment to be set independently of the `btnSize`.
      Returns:
        Integer

    - #### setCornerSrc

          public void setCornerSrc(java.lang.String cornerSrc)
                            throws java.lang.IllegalStateException

      URL for the corner image, a singular image that appears in the corner when both h and v scrollbars are showing.
      Parameters:
        `cornerSrc` - . See `SCImgURL`. Default value is "[SKIN]corner.gif"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Images overview and related methods`

    - #### getCornerSrc

          public java.lang.String getCornerSrc()

      URL for the corner image, a singular image that appears in the corner when both h and v scrollbars are showing.
      Returns:
        . See `SCImgURL`
      See Also:
        `Images overview and related methods`

    - #### setEndImg

          public void setEndImg(StretchItem endImg)
                         throws java.lang.IllegalStateException

      The StretchItem for the end of a scrollbar (the "scroll down" or "scroll right" button image). The default is: `new StretchItem("end", "btnSize", "btnSize")`
      Parameters:
        `endImg` - endImg Default value is see below
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getEndImg

          public StretchItem getEndImg()

      The StretchItem for the end of a scrollbar (the "scroll down" or "scroll right" button image). The default is: `new StretchItem("end", "btnSize", "btnSize")`
      Returns:
        StretchItem

    - #### setEndThumbOverlap

          public void setEndThumbOverlap(java.lang.Integer endThumbOverlap)
                                  throws java.lang.IllegalStateException

      Number of pixels the thumb is allowed to overlap the buttons at the end of the track. Default prevents doubling of 1px borders. Set higher to allow media that shows curved joins between the track button and ScrollThumb.

      Note : This is an advanced setting

      Parameters:
        `endThumbOverlap` - endThumbOverlap Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getEndThumbOverlap

          public java.lang.Integer getEndThumbOverlap()

      Number of pixels the thumb is allowed to overlap the buttons at the end of the track. Default prevents doubling of 1px borders. Set higher to allow media that shows curved joins between the track button and ScrollThumb.
      Returns:
        Integer

    - #### setHSrc

          public void setHSrc(java.lang.String hSrc)
                       throws java.lang.IllegalStateException

      Base URL for the images used for the horizontal scrollbar track and end buttons.

      See `items` for a general explanation of how this base URL is transformed into various pieces and states.

      For a normal 3-segment track, the suffixes "_start", "_track" and "_end" are added to this URL. The "start" and "end" images should appear to be buttons (the user can click on these segments to scroll slowly). The "track" segment provides a background for the space in which the thumb can be dragged, and can also be clicked on to scroll quickly.

      For a 5-segment track (`showTrackEnds`:true), the suffixes are "_start", "_track_start", "_track", "_track_end" and "_end".

      Overrides:
        `setHSrc` in class `StretchImg`
      Parameters:
        `hSrc` - . See `SCImgURL`. Default value is "[SKIN]hscroll.gif"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Images overview and related methods`

    - #### getHSrc

          public java.lang.String getHSrc()

      Base URL for the images used for the horizontal scrollbar track and end buttons.

      See `items` for a general explanation of how this base URL is transformed into various pieces and states.

      For a normal 3-segment track, the suffixes "_start", "_track" and "_end" are added to this URL. The "start" and "end" images should appear to be buttons (the user can click on these segments to scroll slowly). The "track" segment provides a background for the space in which the thumb can be dragged, and can also be clicked on to scroll quickly.

      For a 5-segment track (`showTrackEnds`:true), the suffixes are "_start", "_track_start", "_track", "_track_end" and "_end".

      Overrides:
        `getHSrc` in class `StretchImg`
      Returns:
        . See `SCImgURL`
      See Also:
        `Images overview and related methods`

    - #### setShowCorner

          public void setShowCorner(java.lang.Boolean showCorner)
                             throws java.lang.IllegalStateException

      If true, displays a corner piece at the bottom end of a vertical scrollbar, or the right end of a horizontal scrollbar. This is typically set only when both horizontal and vertical scrollbars are displayed and about the same corner.

      Note : This is an advanced setting

      Parameters:
        `showCorner` - showCorner Default value is false
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getShowCorner

          public java.lang.Boolean getShowCorner()

      If true, displays a corner piece at the bottom end of a vertical scrollbar, or the right end of a horizontal scrollbar. This is typically set only when both horizontal and vertical scrollbars are displayed and about the same corner.
      Returns:
        Boolean

    - #### setShowTrackButtons

          public void setShowTrackButtons(java.lang.Boolean showTrackButtons)
                                   throws java.lang.IllegalStateException

      Should the track buttons that allow page scrolling be shown?

      Note : This is an advanced setting

      Parameters:
        `showTrackButtons` - showTrackButtons Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getShowTrackButtons

          public java.lang.Boolean getShowTrackButtons()

      Should the track buttons that allow page scrolling be shown?

      Returns:
        Boolean

    - #### setShowTrackEnds

          public void setShowTrackEnds(java.lang.Boolean showTrackEnds)
                                throws java.lang.IllegalStateException

      If true, the scrollbar uses a 5-segment rather than 3-segment image representation, where the 3 interior image segments have the same state (Down, Over, etc), independent of the two outermost image segments.

      This allows certain advanced skinning designs where the track-as-such (space in which the thumb may be dragged) has curved endcaps, and is also visually stateful (that is, changes when the mouse goes down, without affecting the appearance of the outermost segments).

      Note : This is an advanced setting

      Parameters:
        `showTrackEnds` - showTrackEnds Default value is false
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getShowTrackEnds

          public java.lang.Boolean getShowTrackEnds()

      If true, the scrollbar uses a 5-segment rather than 3-segment image representation, where the 3 interior image segments have the same state (Down, Over, etc), independent of the two outermost image segments.

      This allows certain advanced skinning designs where the track-as-such (space in which the thumb may be dragged) has curved endcaps, and is also visually stateful (that is, changes when the mouse goes down, without affecting the appearance of the outermost segments).

      Returns:
        Boolean

    - #### setSkinImgDir

          public void setSkinImgDir(java.lang.String skinImgDir)
                             throws java.lang.IllegalStateException

      Where are the skin images for the Scrollbar. This is local to the `overall skin directory`.

      Note : This is an advanced setting

      Overrides:
        `setSkinImgDir` in class `Canvas`
      Parameters:
        `skinImgDir` - . See `String`. Default value is "images/Scrollbar/"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Images overview and related methods`

    - #### getSkinImgDir

          public java.lang.String getSkinImgDir()

      Where are the skin images for the Scrollbar. This is local to the `overall skin directory`.
      Overrides:
        `getSkinImgDir` in class `Canvas`
      Returns:
        . See `String`
      See Also:
        `Images overview and related methods`

    - #### setStartImg

          public void setStartImg(StretchItem startImg)
                           throws java.lang.IllegalStateException

      The StretchItem for the start of a scrollbar (the "scroll up" or "scroll left" button image). The default is: `new StretchItem("start", "btnSize", "btnSize")`
      Parameters:
        `startImg` - startImg Default value is see below
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getStartImg

          public StretchItem getStartImg()

      The StretchItem for the start of a scrollbar (the "scroll up" or "scroll left" button image). The default is: `new StretchItem("start", "btnSize", "btnSize")`
      Returns:
        StretchItem

    - #### setStartThumbOverlap

          public void setStartThumbOverlap(java.lang.Integer startThumbOverlap)
                                    throws java.lang.IllegalStateException

      Number of pixels the thumb is allowed to overlap the buttons at the start of the track. Default prevents doubling of 1px borders. Set higher to allow media that shows curved joins between the track button and ScrollThumb.

      Note : This is an advanced setting

      Parameters:
        `startThumbOverlap` - startThumbOverlap Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getStartThumbOverlap

          public java.lang.Integer getStartThumbOverlap()

      Number of pixels the thumb is allowed to overlap the buttons at the start of the track. Default prevents doubling of 1px borders. Set higher to allow media that shows curved joins between the track button and ScrollThumb.
      Returns:
        Integer

    - #### setThumbInset

          public void setThumbInset(java.lang.Integer thumbInset)
                             throws java.lang.IllegalStateException

      Inset of the thumb relative to the track. An inset of N pixels means the thumb is 2N pixels smaller in breadth than the track.

      Note : This is an advanced setting

      Parameters:
        `thumbInset` - thumbInset Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getThumbInset

          public java.lang.Integer getThumbInset()

      Inset of the thumb relative to the track. An inset of N pixels means the thumb is 2N pixels smaller in breadth than the track.
      Returns:
        Integer

    - #### setThumbMinSize

          public void setThumbMinSize(int thumbMinSize)
                               throws java.lang.IllegalStateException

      The minimum pixel size of the draggable thumb regardless of how large the scrolling region becomes.

      Note : This is an advanced setting

      Parameters:
        `thumbMinSize` - thumbMinSize Default value is 12
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getThumbMinSize

          public int getThumbMinSize()

      The minimum pixel size of the draggable thumb regardless of how large the scrolling region becomes.
      Returns:
        int

    - #### setThumbOverlap

          public void setThumbOverlap(int thumbOverlap)
                               throws java.lang.IllegalStateException

      Number of pixels the thumb is allowed to overlap the buttons at each end of the track. Default prevents doubling of 1px borders. Set higher to allow media that shows curved joins between the track button and ScrollThumb.

      Note : This is an advanced setting

      Parameters:
        `thumbOverlap` - thumbOverlap Default value is 1
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getThumbOverlap

          public int getThumbOverlap()

      Number of pixels the thumb is allowed to overlap the buttons at each end of the track. Default prevents doubling of 1px borders. Set higher to allow media that shows curved joins between the track button and ScrollThumb.
      Returns:
        int

    - #### setTrackEndHeight

          public void setTrackEndHeight(int trackEndHeight)
                                 throws java.lang.IllegalStateException

      The minimum pixel height of the track end segments (if enabled with showTrackEnds).

      Note : This is an advanced setting

      Parameters:
        `trackEndHeight` - trackEndHeight Default value is 12
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getTrackEndHeight

          public int getTrackEndHeight()

      The minimum pixel height of the track end segments (if enabled with showTrackEnds).
      Returns:
        int

    - #### setTrackEndImg

          public void setTrackEndImg(StretchItem trackEndImg)
                              throws java.lang.IllegalStateException

      The StretchItem for the end of a scrollbar track. The default is: `new StretchItem("track_end", "trackEndSize", "trackEndSize")`
      Parameters:
        `trackEndImg` - trackEndImg Default value is see below
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getTrackEndImg

          public StretchItem getTrackEndImg()

      The StretchItem for the end of a scrollbar track. The default is: `new StretchItem("track_end", "trackEndSize", "trackEndSize")`
      Returns:
        StretchItem

    - #### setTrackEndWidth

          public void setTrackEndWidth(int trackEndWidth)
                                throws java.lang.IllegalStateException

      The minimum pixel width of the track end segments (if enabled with showTrackEnds).

      Note : This is an advanced setting

      Parameters:
        `trackEndWidth` - trackEndWidth Default value is 12
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getTrackEndWidth

          public int getTrackEndWidth()

      The minimum pixel width of the track end segments (if enabled with showTrackEnds).
      Returns:
        int

    - #### setTrackImg

          public void setTrackImg(StretchItem trackImg)
                           throws java.lang.IllegalStateException

      The StretchItem for the middle part of a scrollbar track, which usually takes up the majority of the width or height of the scrollbar. The default is: `new StretchItem("track", "*", "*")`
      Parameters:
        `trackImg` - trackImg Default value is see below
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getTrackImg

          public StretchItem getTrackImg()

      The StretchItem for the middle part of a scrollbar track, which usually takes up the majority of the width or height of the scrollbar. The default is: `new StretchItem("track", "*", "*")`
      Returns:
        StretchItem

    - #### setTrackStartImg

          public void setTrackStartImg(StretchItem trackStartImg)
                                throws java.lang.IllegalStateException

      The StretchItem for the start of a scrollbar track. The default is: `new StretchItem("track_start", "trackStartSize", "trackStartSize")`
      Parameters:
        `trackStartImg` - trackStartImg Default value is see below
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getTrackStartImg

          public StretchItem getTrackStartImg()

      The StretchItem for the start of a scrollbar track. The default is: `new StretchItem("track_start", "trackStartSize", "trackStartSize")`
      Returns:
        StretchItem

    - #### setVSrc

          public void setVSrc(java.lang.String vSrc)
                       throws java.lang.IllegalStateException

      Base URL for the images used for the vertical scrollbar track and end buttons. See `hSrc` for usage.
      Overrides:
        `setVSrc` in class `StretchImg`
      Parameters:
        `vSrc` - . See `SCImgURL`. Default value is "[SKIN]vscroll.gif"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Images overview and related methods`

    - #### getVSrc

          public java.lang.String getVSrc()

      Base URL for the images used for the vertical scrollbar track and end buttons. See `hSrc` for usage.
      Overrides:
        `getVSrc` in class `StretchImg`
      Returns:
        . See `SCImgURL`
      See Also:
        `Images overview and related methods`

    - #### setDefaultProperties

          public static void setDefaultProperties(Scrollbar scrollbarProperties)

      Class level method to set the default properties of this class. If set, then all subsequent instances of this class will automatically have the default properties that were set when this method was called. This is a powerful feature that eliminates the need for users to create a separate hierarchy of subclasses that only alter the default properties of this class. Can also be used for skinning / styling purposes.

      Note: This method is intended for setting default attributes only and will effect all instances of the underlying class (including those automatically generated in JavaScript). This method should not be used to apply standard EventHandlers or override methods for a class - use a custom subclass instead.

      Parameters:
        `scrollbarProperties` - properties that should be used as new defaults when instances of this class are created

    - #### preloadImages

          public static void preloadImages()

      Preload primary Scrollbar skin images.

    - #### setLogicalStructure

          public com.smartgwt.logicalstructure.core.LogicalStructureObject setLogicalStructure(com.smartgwt.logicalstructure.widgets.ScrollbarLogicalStructure s)

    - #### getLogicalStructure

          public com.smartgwt.logicalstructure.core.LogicalStructureObject getLogicalStructure()

      Specified by:
        `getLogicalStructure` in interface `LogicalStructure`
      Overrides:
        `getLogicalStructure` in class `StretchImg`