Class ScrollPanel

All Implemented Interfaces:
HasScrollHandlers, HasAttachHandlers, HasHandlers, EventListener, AcceptsOneWidget, HasHorizontalScrolling, HasOneWidget, HasScrolling, HasVerticalScrolling, HasVisibility, HasWidgets, HasWidgets.ForIsWidget, IsWidget, ProvidesResize, RequiresResize, SourcesScrollEvents, Iterable<Widget>
Direct Known Subclasses:
CustomScrollPanel

public class ScrollPanel extends SimplePanel implements SourcesScrollEvents, RequiresResize, ProvidesResize, HasScrolling
A simple panel that wraps its contents in a scrollable area.
  • Constructor Details

    • ScrollPanel

      public ScrollPanel()
      Creates an empty scroll panel.
    • ScrollPanel

      public ScrollPanel(Widget child)
      Creates a new scroll panel with the given child widget.
      Parameters:
      child - the widget to be wrapped by the scroll panel
    • ScrollPanel

      protected ScrollPanel(Element root, Element scrollable, Element container)
      Creates an empty scroll panel using the specified root, scrollable, and container elements.
      Parameters:
      root - the root element of the Widget
      scrollable - the scrollable element, which can be the same as the root element
      container - the container element that holds the child
  • Method Details

    • addScrollHandler

      public HandlerRegistration addScrollHandler(ScrollHandler handler)
      Description copied from interface: HasScrollHandlers
      Adds a ScrollEvent handler.
      Specified by:
      addScrollHandler in interface HasScrollHandlers
      Parameters:
      handler - the scroll handler
      Returns:
      HandlerRegistration used to remove this handler
    • addScrollListener

      @Deprecated public void addScrollListener(ScrollListener listener)
      Description copied from interface: SourcesScrollEvents
      Adds a listener interface to receive scroll events.
      Specified by:
      addScrollListener in interface SourcesScrollEvents
      Parameters:
      listener - the listener interface to add
    • ensureVisible

      public void ensureVisible(UIObject item)
      Ensures that the specified item is visible, by adjusting the panel's scroll position.
      Parameters:
      item - the item whose visibility is to be ensured
    • getHorizontalScrollPosition

      public int getHorizontalScrollPosition()
      Gets the horizontal scroll position.
      Specified by:
      getHorizontalScrollPosition in interface HasHorizontalScrolling
      Returns:
      the horizontal scroll position, in pixels
    • getMaximumHorizontalScrollPosition

      public int getMaximumHorizontalScrollPosition()
      Description copied from interface: HasHorizontalScrolling
      Get the maximum position of horizontal scrolling. This is usually the scrollWidth - clientWidth.
      Specified by:
      getMaximumHorizontalScrollPosition in interface HasHorizontalScrolling
      Returns:
      the maximum horizontal scroll position
    • getMaximumVerticalScrollPosition

      public int getMaximumVerticalScrollPosition()
      Description copied from interface: HasVerticalScrolling
      Get the maximum position of vertical scrolling. This is usually the scrollHeight - clientHeight.
      Specified by:
      getMaximumVerticalScrollPosition in interface HasVerticalScrolling
      Returns:
      the maximum vertical scroll position
    • getMinimumHorizontalScrollPosition

      public int getMinimumHorizontalScrollPosition()
      Description copied from interface: HasHorizontalScrolling
      Get the minimum position of horizontal scrolling.
      Specified by:
      getMinimumHorizontalScrollPosition in interface HasHorizontalScrolling
      Returns:
      the minimum horizontal scroll position
    • getMinimumVerticalScrollPosition

      public int getMinimumVerticalScrollPosition()
      Description copied from interface: HasVerticalScrolling
      Get the minimum position of vertical scrolling.
      Specified by:
      getMinimumVerticalScrollPosition in interface HasVerticalScrolling
      Returns:
      the minimum vertical scroll position
    • getScrollPosition

      @Deprecated public int getScrollPosition()
      Deprecated.
      as of GWT 2.3, replaced by getVerticalScrollPosition()
      Gets the vertical scroll position.
      Returns:
      the vertical scroll position, in pixels
    • getVerticalScrollPosition

      public int getVerticalScrollPosition()
      Description copied from interface: HasVerticalScrolling
      Gets the vertical scroll position.
      Specified by:
      getVerticalScrollPosition in interface HasVerticalScrolling
      Returns:
      the vertical scroll position, in pixels
    • isTouchScrollingDisabled

      public boolean isTouchScrollingDisabled()
      Check whether or not touch based scrolling is disabled. This method always returns false on devices that do not support touch scrolling.
      Returns:
      true if disabled, false if enabled
    • onResize

      public void onResize()
      Description copied from interface: RequiresResize
      This method must be called whenever the implementor's size has been modified.
      Specified by:
      onResize in interface RequiresResize
    • removeScrollListener

      @Deprecated public void removeScrollListener(ScrollListener listener)
      Description copied from interface: SourcesScrollEvents
      Removes a previously added scroll listener.
      Specified by:
      removeScrollListener in interface SourcesScrollEvents
      Parameters:
      listener - the listener interface to remove
    • scrollToBottom

      public void scrollToBottom()
      Scroll to the bottom of this panel.
    • scrollToLeft

      public void scrollToLeft()
      Scroll to the far left of this panel.
    • scrollToRight

      public void scrollToRight()
      Scroll to the far right of this panel.
    • scrollToTop

      public void scrollToTop()
      Scroll to the top of this panel.
    • setAlwaysShowScrollBars

      public void setAlwaysShowScrollBars(boolean alwaysShow)
      Sets whether this panel always shows its scroll bars, or only when necessary.
      Parameters:
      alwaysShow - true to show scroll bars at all times
    • setHeight

      public void setHeight(String height)
      Sets the object's height. This height does not include decorations such as border, margin, and padding.
      Overrides:
      setHeight in class UIObject
      Parameters:
      height - the object's new height, in absolute CSS units (e.g. "10px", "1em" but not "50%")
    • setHorizontalScrollPosition

      public void setHorizontalScrollPosition(int position)
      Sets the horizontal scroll position.
      Specified by:
      setHorizontalScrollPosition in interface HasHorizontalScrolling
      Parameters:
      position - the new horizontal scroll position, in pixels
    • setScrollPosition

      @Deprecated public void setScrollPosition(int position)
      Deprecated.
      as of GWT 2.3, replaced by setVerticalScrollPosition(int)
      Sets the vertical scroll position.
      Parameters:
      position - the new vertical scroll position, in pixels
    • setSize

      public void setSize(String width, String height)
      Sets the object's size. This size does not include decorations such as border, margin, and padding.
      Overrides:
      setSize in class UIObject
      Parameters:
      width - the object's new width, in absolute CSS units (e.g. "10px", "1em", but not "50%")
      height - the object's new height, in absolute CSS units (e.g. "10px", "1em", but not "50%")
    • setTouchScrollingDisabled

      public boolean setTouchScrollingDisabled(boolean isDisabled)
      Set whether or not touch scrolling is disabled. By default, touch scrolling is enabled on devices that support touch events.
      Parameters:
      isDisabled - true to disable, false to enable
      Returns:
      true if touch scrolling is enabled and supported, false if disabled or not supported
    • setVerticalScrollPosition

      public void setVerticalScrollPosition(int position)
      Description copied from interface: HasVerticalScrolling
      Sets the vertical scroll position.
      Specified by:
      setVerticalScrollPosition in interface HasVerticalScrolling
      Parameters:
      position - the new vertical scroll position, in pixels
    • setWidth

      public void setWidth(String width)
      Sets the object's width. This width does not include decorations such as border, margin, and padding.
      Overrides:
      setWidth in class UIObject
      Parameters:
      width - the object's new width, in absolute CSS units (e.g. "10px", "1em", but not "50%")
    • getContainerElement

      protected Element getContainerElement()
      Description copied from class: SimplePanel
      Override this method to specify that an element other than the root element be the container for the panel's child widget. This can be useful when you want to create a simple panel that decorates its contents. Note that this method continues to return the Element class defined in the User module to maintain backwards compatibility.
      Overrides:
      getContainerElement in class SimplePanel
      Returns:
      the element to be used as the panel's container
    • getScrollableElement

      protected Element getScrollableElement()
      Get the scrollable element. That is the element with its overflow set to 'auto' or 'scroll'.
      Returns:
      the scrollable element
    • onAttach

      protected void onAttach()
      Description copied from class: Widget

      This method is called when a widget is attached to the browser's document. To receive notification after a Widget has been added to the document, override the Widget.onLoad() method or use Widget.addAttachHandler(com.google.gwt.event.logical.shared.AttachEvent.Handler).

      It is strongly recommended that you override Widget.onLoad() or Widget.doAttachChildren() instead of this method to avoid inconsistencies between logical and physical attachment states.

      Subclasses that override this method must call super.onAttach() to ensure that the Widget has been attached to its underlying Element.

      Overrides:
      onAttach in class Widget
      See Also:
    • onDetach

      protected void onDetach()
      Description copied from class: Widget

      This method is called when a widget is detached from the browser's document. To receive notification before a Widget is removed from the document, override the Widget.onUnload() method or use Widget.addAttachHandler(com.google.gwt.event.logical.shared.AttachEvent.Handler).

      It is strongly recommended that you override Widget.onUnload() or Widget.doDetachChildren() instead of this method to avoid inconsistencies between logical and physical attachment states.

      Subclasses that override this method must call super.onDetach() to ensure that the Widget has been detached from the underlying Element. Failure to do so will result in application memory leaks due to circular references between DOM Elements and JavaScript objects.

      Overrides:
      onDetach in class Widget
      See Also: