Package org.eclipse.draw2d

# Class ScrollBar

java.lang.Object
org.eclipse.draw2d.Figure
org.eclipse.draw2d.ScrollBar

All Implemented Interfaces:
  `PropertyChangeListener`, `EventListener`, `IFigure`, `Orientable`, `PositionConstants`

Direct Known Subclasses:
  `PuristicScrollPane.PuristicScrollBar`

public class ScrollBar extends Figure implements Orientable, PropertyChangeListener
Provides for the scrollbars used by the `ScrollPane`. A ScrollBar is made up of five essential Figures: An 'Up' arrow button, a 'Down' arrow button, a draggable 'Thumb', a 'Pageup' button, and a 'Pagedown' button.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`protected class`
`ScrollBar.ThumbDragger`

## Nested classes/interfaces inherited from class org.eclipse.draw2d.Figure

`Figure.FigureIterator, Figure.IdentitySearch, Figure.ReverseFigureChildrenIterator`

## Nested classes/interfaces inherited from interface org.eclipse.draw2d.IFigure

`IFigure.NoInsets`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected static final int`
`MAX_FLAG`
`protected ScrollBar.ThumbDragger`
`thumbDragger`
Listens to mouse events on the scrollbar to take care of scrolling.
`protected final Transposer`
`transposer`
Transposes from vertical to horizontal if needed.

### Fields inherited from class org.eclipse.draw2d.Figure

`bgColor, border, bounds, fgColor, flags, font, maxSize, minSize, NO_MANAGER, prefSize, toolTip`

### Fields inherited from interface org.eclipse.draw2d.IFigure

`MAX_DIMENSION, MIN_DIMENSION, NO_INSETS`

### Fields inherited from interface org.eclipse.draw2d.Orientable

`HORIZONTAL, VERTICAL`

### Fields inherited from interface org.eclipse.draw2d.PositionConstants

`ALWAYS_LEFT, ALWAYS_RIGHT, BOTTOM, CENTER, EAST, EAST_WEST, LEFT, LEFT_CENTER_RIGHT, MIDDLE, NONE, NORTH, NORTH_EAST, NORTH_SOUTH, NORTH_WEST, NSEW, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TOP_MIDDLE_BOTTOM, WEST`

## Constructor Summary

Constructors
Constructor
Description
`ScrollBar()`
Constructs a ScrollBar.

## Method Summary

Modifier and Type
Method
Description
`protected Clickable`
`createDefaultDownButton()`
Creates the default 'Down' ArrowButton for the ScrollBar.
`protected IFigure`
`createDefaultThumb()`
Creates the Scrollbar's "thumb", the draggable Figure that indicates the Scrollbar's position.
`protected Clickable`
`createDefaultUpButton()`
Creates the default 'Up' ArrowButton for the ScrollBar.
`protected Clickable`
`createPageDown()`
Creates the pagedown Figure for the Scrollbar.
`protected Clickable`
`createPageUp()`
Creates the pageup Figure for the Scrollbar.
`protected IFigure`
`getButtonDown()`
Returns the figure used as the down button.
`protected IFigure`
`getButtonUp()`
Returns the figure used as the up button.
`int`
`getExtent()`
Returns the extent.
`int`
`getMaximum()`
Returns the maximum value.
`int`
`getMinimum()`
Returns the minumum value.
`protected IFigure`
`getPageDown()`
Returns the figure used for page down.
`int`
`getPageIncrement()`
Returns the the amound the scrollbar will move when the page up or page down areas are pressed.
`protected IFigure`
`getPageUp()`
Returns the figure used for page up.
`RangeModel`
`getRangeModel()`
Returns the range model for this scrollbar.
`int`
`getStepIncrement()`
Returns the amount the scrollbar will move when the up or down arrow buttons are pressed.
`protected IFigure`
`getThumb()`
Returns the figure used as the scrollbar's thumb.
`int`
`getValue()`
Returns the current scroll position of the scrollbar.
`protected int`
`getValueRange()`
Returns the size of the range of allowable values.
`protected void`
`initialize()`
Initilization of the ScrollBar.
`boolean`
`isHorizontal()`
Returns `true` if this scrollbar is orientated horizontally, `false` otherwise.
`void`
`propertyChange(PropertyChangeEvent event)`
`void`
`revalidate()`
Invalidates this figure and revalidates() its parent.
`void`
`setDirection(int direction)`
Does nothing because this doesn't make sense for a scrollbar.
`void`
`setDownClickable(Clickable down)`
Sets the Clickable that represents the down arrow of the Scrollbar to down.
`void`
`setEnabled(boolean value)`
Sets this IFigure to be enabled.
`void`
`setExtent(int ext)`
Sets the extent of the Scrollbar to ext
`final void`
`setHorizontal(boolean value)`
Sets the orientation of the ScrollBar.
`void`
`setMaximum(int max)`
Sets the maximum position to max.
`void`
`setMinimum(int min)`
Sets the minimum position to min.
`void`
`setOrientation(int value)`
Sets the orientation.
`void`
`setPageDown(Clickable down)`
Sets the pagedown button to the passed Clickable.
`void`
`setPageIncrement(int increment)`
Sets the ScrollBar to scroll increment pixels when its pageup or pagedown buttons are pressed.
`void`
`setPageUp(Clickable up)`
Sets the pageup button to the passed Clickable.
`void`
`setRangeModel(RangeModel rangeModel)`
Sets the ScrollBar's RangeModel to the passed value.
`void`
`setStepIncrement(int increment)`
Sets the ScrollBar's step increment to the passed value.
`void`
`setThumb(IFigure figure)`
Sets the ScrollBar's thumb to the passed Figure.
`void`
`setUpClickable(Clickable up)`
Sets the Clickable that represents the up arrow of the Scrollbar to up.
`void`
`setValue(int v)`
Sets the value of the Scrollbar to v
`protected void`
`stepDown()`
Causes the ScrollBar to scroll down (or right) by the value of its step increment.
`protected void`
`stepUp()`
Causes the ScrollBar to scroll up (or left) by the value of its step increment.

### Methods inherited from class org.eclipse.draw2d.Figure

`add, add, add, add, addAncestorListener, addCoordinateListener, addFigureListener, addFocusListener, addKeyListener, addLayoutListener, addListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, containsPoint, containsPoint, erase, findDescendantAtExcluding, findFigureAt, findFigureAt, findFigureAt, findFigureAtExcluding, findMouseEventTargetAt, findMouseEventTargetInDescendantsAt, fireCoordinateSystemChanged, fireFigureMoved, fireMoved, firePropertyChange, firePropertyChange, firePropertyChange, getBackgroundColor, getBorder, getBounds, getChildren, getChildrenRevIterable, getClientArea, getClientArea, getClippingStrategy, getCursor, getFlag, getFont, getForegroundColor, getInsets, getLayoutManager, getListeners, getListenersIterable, getLocalBackgroundColor, getLocalFont, getLocalForegroundColor, getLocation, getMaximumSize, getMinimumSize, getMinimumSize, getParent, getPreferredSize, getPreferredSize, getSize, getToolTip, getUpdateManager, handleFocusGained, handleFocusLost, handleKeyPressed, handleKeyReleased, handleMouseDoubleClicked, handleMouseDragged, handleMouseEntered, handleMouseExited, handleMouseHover, handleMouseMoved, handleMousePressed, handleMouseReleased, handleMouseWheelScrolled, hasFocus, internalGetEventDispatcher, intersects, invalidate, invalidateTree, isCoordinateSystem, isEnabled, isFocusTraversable, isMirrored, isMouseEventTarget, isOpaque, isRequestFocusEnabled, isShowing, isValid, isValidationRoot, isVisible, layout, optimizeClip, paint, paintBorder, paintChildren, paintClientArea, paintFigure, primTranslate, remove, removeAll, removeAncestorListener, removeCoordinateListener, removeFigureListener, removeFocusListener, removeKeyListener, removeLayoutListener, removeListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, setBackgroundColor, setBorder, setBounds, setChildrenDirection, setChildrenEnabled, setChildrenOrientation, setClippingStrategy, setConstraint, setCursor, setFlag, setFocusTraversable, setFont, setForegroundColor, setLayoutManager, setLocation, setMaximumSize, setMinimumSize, setOpaque, setParent, setPreferredSize, setPreferredSize, setRequestFocusEnabled, setSize, setSize, setToolTip, setValid, setVisible, translate, translateFromParent, translateToAbsolute, translateToParent, translateToRelative, useDoublePrecision, useLocalCoordinates, validate`

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

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.eclipse.draw2d.IFigure

`add, add, add, add, addAncestorListener, addCoordinateListener, addFigureListener, addFocusListener, addKeyListener, addLayoutListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, containsPoint, containsPoint, erase, findFigureAt, findFigureAt, findFigureAt, findFigureAtExcluding, findMouseEventTargetAt, getBackgroundColor, getBorder, getBounds, getChildren, getClientArea, getClientArea, getClippingStrategy, getCursor, getFont, getForegroundColor, getInsets, getLayoutManager, getLocalBackgroundColor, getLocalForegroundColor, getLocation, getMaximumSize, getMinimumSize, getMinimumSize, getParent, getPreferredSize, getPreferredSize, getSize, getToolTip, getUpdateManager, handleFocusGained, handleFocusLost, handleKeyPressed, handleKeyReleased, handleMouseDoubleClicked, handleMouseDragged, handleMouseEntered, handleMouseExited, handleMouseHover, handleMouseMoved, handleMousePressed, handleMouseReleased, handleMouseWheelScrolled, hasFocus, internalGetEventDispatcher, intersects, invalidate, invalidateTree, isCoordinateSystem, isEnabled, isFocusTraversable, isMirrored, isOpaque, isRequestFocusEnabled, isShowing, isVisible, paint, remove, removeAncestorListener, removeCoordinateListener, removeFigureListener, removeFocusListener, removeKeyListener, removeLayoutListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, setBackgroundColor, setBorder, setBounds, setClippingStrategy, setConstraint, setCursor, setFocusTraversable, setFont, setForegroundColor, setLayoutManager, setLocation, setMaximumSize, setMinimumSize, setOpaque, setParent, setPreferredSize, setRequestFocusEnabled, setSize, setSize, setToolTip, setVisible, translate, translateFromParent, translateToAbsolute, translateToParent, translateToRelative, validate`

## Field Details

### MAX_FLAG

protected static final int MAX_FLAG

See Also:
  - `Figure.MAX_FLAG`

### thumbDragger

protected ScrollBar.ThumbDragger thumbDragger
Listens to mouse events on the scrollbar to take care of scrolling.

### transposer

protected final Transposer transposer
Transposes from vertical to horizontal if needed.

## Constructor Details

### ScrollBar

public ScrollBar()
Constructs a ScrollBar. ScrollBar orientation is vertical by default. Call `setHorizontal(boolean)` with `true` to set horizontal orientation.

Since:
  2.0

## Method Details

### createDefaultUpButton

protected Clickable createDefaultUpButton()
Creates the default 'Up' ArrowButton for the ScrollBar.

Returns:
  the up button
Since:
  2.0

### createDefaultDownButton

protected Clickable createDefaultDownButton()
Creates the default 'Down' ArrowButton for the ScrollBar.

Returns:
  the down button
Since:
  2.0

### createPageDown

protected Clickable createPageDown()
Creates the pagedown Figure for the Scrollbar.

Returns:
  the page down figure
Since:
  2.0

### createPageUp

protected Clickable createPageUp()
Creates the pageup Figure for the Scrollbar.

Returns:
  the page up figure
Since:
  2.0

### createDefaultThumb

protected IFigure createDefaultThumb()
Creates the Scrollbar's "thumb", the draggable Figure that indicates the Scrollbar's position.

Returns:
  the thumb figure
Since:
  2.0

### getButtonUp

protected IFigure getButtonUp()
Returns the figure used as the up button.

Returns:
  the up button

### getButtonDown

protected IFigure getButtonDown()
Returns the figure used as the down button.

Returns:
  the down button

### getExtent

public int getExtent()
Returns the extent.

Returns:
  the extent
See Also:
  - `RangeModel.getExtent()`

### getMinimum

public int getMinimum()
Returns the minumum value.

Returns:
  the minimum
See Also:
  - `RangeModel.getMinimum()`

### getMaximum

public int getMaximum()
Returns the maximum value.

Returns:
  the maximum
See Also:
  - `RangeModel.getMaximum()`

### getPageDown

protected IFigure getPageDown()
Returns the figure used for page down.

Returns:
  the page down figure

### getPageIncrement

public int getPageIncrement()
Returns the the amound the scrollbar will move when the page up or page down areas are pressed.

Returns:
  the page increment

### getPageUp

protected IFigure getPageUp()
Returns the figure used for page up.

Returns:
  the page up figure

### getRangeModel

public RangeModel getRangeModel()
Returns the range model for this scrollbar.

Returns:
  the range model

### getStepIncrement

public int getStepIncrement()
Returns the amount the scrollbar will move when the up or down arrow buttons are pressed.

Returns:
  the step increment

### getThumb

protected IFigure getThumb()
Returns the figure used as the scrollbar's thumb.

Returns:
  the thumb figure

### getValue

public int getValue()
Returns the current scroll position of the scrollbar.

Returns:
  the current value
See Also:
  - `RangeModel.getValue()`

### getValueRange

protected int getValueRange()
Returns the size of the range of allowable values.

Returns:
  the value range

### initialize

protected void initialize()
Initilization of the ScrollBar. Sets the Scrollbar to have a ScrollBarLayout with vertical orientation. Creates the Figures that make up the components of the ScrollBar.

Since:
  2.0

### isHorizontal

public boolean isHorizontal()
Returns `true` if this scrollbar is orientated horizontally, `false` otherwise.

Returns:
  whether this scrollbar is horizontal

### propertyChange

public void propertyChange(PropertyChangeEvent event)

Specified by:
  `propertyChange` in interface `PropertyChangeListener`
See Also:
  - `PropertyChangeListener.propertyChange(java.beans.PropertyChangeEvent)`

### revalidate

public void revalidate()
Description copied from interface: `IFigure`
Invalidates this figure and revalidates() its parent. If a figure does not have a parent, it will request a validation from it UpdateManager. Calling this method does not guarantee that a repaint will occur.

Specified by:
  `revalidate` in interface `IFigure`
Overrides:
  `revalidate` in class `Figure`
See Also:
  - `IFigure.revalidate()`

### setDirection

public void setDirection(int direction)
Does nothing because this doesn't make sense for a scrollbar.

Specified by:
  `setDirection` in interface `Orientable`
Parameters:
  `direction` - The direction
See Also:
  - `Orientable.setDirection(int)`

### setDownClickable

public void setDownClickable(Clickable down)
Sets the Clickable that represents the down arrow of the Scrollbar to down.

Parameters:
  `down` - the down button
Since:
  2.0

### setUpClickable

public void setUpClickable(Clickable up)
Sets the Clickable that represents the up arrow of the Scrollbar to up.

Parameters:
  `up` - the up button
Since:
  2.0

### setEnabled

public void setEnabled(boolean value)
Description copied from interface: `IFigure`
Sets this IFigure to be enabled.

Specified by:
  `setEnabled` in interface `IFigure`
Overrides:
  `setEnabled` in class `Figure`
Parameters:
  `value` - `true` if this IFigure should be enabled
See Also:
  - `IFigure.setEnabled(boolean)`

### setExtent

public void setExtent(int ext)
Sets the extent of the Scrollbar to ext

Parameters:
  `ext` - the extent
Since:
  2.0

### setHorizontal

public final void setHorizontal(boolean value)
Sets the orientation of the ScrollBar. If `true`, the Scrollbar will have a horizontal orientation. If `false`, the scrollBar will have a vertical orientation.

Parameters:
  `value` - `true` if the scrollbar should be horizontal
Since:
  2.0

### setMaximum

public void setMaximum(int max)
Sets the maximum position to max.

Parameters:
  `max` - the maximum position
Since:
  2.0

### setMinimum

public void setMinimum(int min)
Sets the minimum position to min.

Parameters:
  `min` - the minumum position
Since:
  2.0

### setOrientation

public void setOrientation(int value)
Description copied from interface: `Orientable`
Sets the orientation. Can be either `Orientable.HORIZONTAL` or `Orientable.VERTICAL`.

Specified by:
  `setOrientation` in interface `Orientable`
Parameters:
  `value` - The orientation
See Also:
  - `Orientable.setOrientation(int)`

### setPageIncrement

public void setPageIncrement(int increment)
Sets the ScrollBar to scroll increment pixels when its pageup or pagedown buttons are pressed. (Note that the pageup and pagedown buttons are NOT the arrow buttons, they are the figures between the arrow buttons and the ScrollBar's thumb figure).

Parameters:
  `increment` - the new page increment
Since:
  2.0

### setPageDown

public void setPageDown(Clickable down)
Sets the pagedown button to the passed Clickable. The pagedown button is the figure between the down arrow button and the ScrollBar's thumb figure.

Parameters:
  `down` - the page down figure
Since:
  2.0

### setPageUp

public void setPageUp(Clickable up)
Sets the pageup button to the passed Clickable. The pageup button is the rectangular figure between the down arrow button and the ScrollBar's thumb figure.

Parameters:
  `up` - the page up figure
Since:
  2.0

### setRangeModel

public void setRangeModel(RangeModel rangeModel)
Sets the ScrollBar's RangeModel to the passed value.

Parameters:
  `rangeModel` - the new range model
Since:
  2.0

### setStepIncrement

public void setStepIncrement(int increment)
Sets the ScrollBar's step increment to the passed value. The step increment indicates how many pixels the ScrollBar will scroll when its up or down arrow button is pressed.

Parameters:
  `increment` - the new step increment
Since:
  2.0

### setThumb

public void setThumb(IFigure figure)
Sets the ScrollBar's thumb to the passed Figure. The thumb is the draggable component of the ScrollBar that indicates the ScrollBar's position.

Parameters:
  `figure` - the thumb figure
Since:
  2.0

### setValue

public void setValue(int v)
Sets the value of the Scrollbar to v

Parameters:
  `v` - the new value
Since:
  2.0

### stepDown

protected void stepDown()
Causes the ScrollBar to scroll down (or right) by the value of its step increment.

Since:
  2.0

### stepUp

protected void stepUp()
Causes the ScrollBar to scroll up (or left) by the value of its step increment.

Since:
  2.0