org.eclipse.swt.widgets

## Class Scrollable

- java.lang.Object
- - org.eclipse.swt.widgets.Widget
  - - org.eclipse.swt.widgets.Control
    - - org.eclipse.swt.widgets.Scrollable

All Implemented Interfaces:
  Adaptable, Drawable

Direct Known Subclasses:
  Composite, List, Text

    public abstract class Scrollable
    extends Control

This class is the abstract superclass of all classes which represent controls that have standard scroll bars.

Styles:
  H_SCROLL, V_SCROLL
Events:
  (none)

IMPORTANT: This class is intended to be subclassed only within the SWT implementation.

Since:
  1.0

### Constructor Summary

Constructors
Constructor and Description
`Scrollable(Composite parent, int style)` Constructs a new instance of this class given its parent and a style value describing its behavior and appearance.

### Method Summary

Methods
`Rectangle` `computeTrim(int x, int y, int width, int height)` Given a desired client area for the receiver (as described by the arguments), returns the bounding rectangle which would be required to produce that client area.
`Rectangle` `getClientArea()` Returns a rectangle which describes the area of the receiver which is capable of displaying data (that is, not covered by the "trimmings").
`ScrollBar` `getHorizontalBar()` Returns the receiver's horizontal scroll bar if it has one, and null if it does not.
`ScrollBar` `getVerticalBar()` Returns the receiver's vertical scroll bar if it has one, and null if it does not.

### Methods inherited from class org.eclipse.swt.widgets.Control

`addControlListener, addDragDetectListener, addFocusListener, addGestureListener, addHelpListener, addKeyListener, addMenuDetectListener, addMouseListener, addTouchListener, addTraverseListener, computeSize, computeSize, forceFocus, getAccessible, getAdapter, getBackground, getBackgroundImage, getBorderWidth, getBounds, getCursor, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getOrientation, getParent, getShell, getSize, getToolTipText, getTouchEnabled, getVisible, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, redraw, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeTouchListener, removeTraverseListener, requestLayout, setBackground, setBackgroundImage, setBounds, setBounds, setCursor, setData, setEnabled, setFocus, setFont, setForeground, setLayoutData, setLocation, setLocation, setMenu, setOrientation, setParent, setRedraw, setSize, setSize, setToolTipText, setTouchEnabled, setVisible, toControl, toControl, toDisplay, toDisplay, update`

### Methods inherited from class org.eclipse.swt.widgets.Widget

`addDisposeListener, addListener, checkSubclass, checkWidget, dispose, getData, getData, getDisplay, getListeners, getStyle, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, reskin, setData, toString`

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

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

### Constructor Detail

#### Scrollable

    public Scrollable(Composite parent,
              int style)

Constructs a new instance of this class given its parent and a style value describing its behavior and appearance.

The style value is either one of the style constants defined in class `SWT` which is applicable to instances of this class, or must be built by bitwise OR'ing together (that is, using the `int` "|" operator) two or more of those `SWT` style constants. The class description lists the style constants that are applicable to the class. Style bits are also inherited from superclasses.

Parameters:
  `parent` - a composite control which will be the parent of the new instance (cannot be null)
  `style` - the style of control to construct
Throws:
  `java.lang.IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the parent is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent
  - ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass
See Also:
  `SWT.H_SCROLL`, `SWT.V_SCROLL`, `Widget.checkSubclass()`, `Widget.getStyle()`

### Method Detail

#### getClientArea

    public Rectangle getClientArea()

Returns a rectangle which describes the area of the receiver which is capable of displaying data (that is, not covered by the "trimmings").

Returns:
  the client area
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
See Also:
  `computeTrim(int, int, int, int)`

#### computeTrim

    public Rectangle computeTrim(int x,
                        int y,
                        int width,
                        int height)

Given a desired client area for the receiver (as described by the arguments), returns the bounding rectangle which would be required to produce that client area.

In other words, it returns a rectangle such that, if the receiver's bounds were set to that rectangle, the area of the receiver which is capable of displaying data (that is, not covered by the "trimmings") would be the rectangle described by the arguments (relative to the receiver's parent).

Parameters:
  `x` - the desired x coordinate of the client area
  `y` - the desired y coordinate of the client area
  `width` - the desired width of the client area
  `height` - the desired height of the client area
Returns:
  the required bounds to produce the given client area
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
See Also:
  `getClientArea()`

#### getHorizontalBar

    public ScrollBar getHorizontalBar()

Returns the receiver's horizontal scroll bar if it has one, and null if it does not.

Returns:
  the horizontal scroll bar (or null)
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
Since:
  1.4

#### getVerticalBar

    public ScrollBar getVerticalBar()

Returns the receiver's vertical scroll bar if it has one, and null if it does not.

Returns:
  the vertical scroll bar (or null)
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
Since:
  1.4

Copyright (c) EclipseSource and others 2002, 2018. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0