Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Swing 1.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.swing
Class JScrollBar

    java.lang.Object
      |
      +--java.awt.Component
            |
            +--java.awt.Container
                  |
                  +--javax.swing.JComponent
                        |
                        +--javax.swing.JScrollBar

Direct Known Subclasses:
  JScrollPane.ScrollBar

public class JScrollBar
extends JComponent
implements java.awt.Adjustable, Accessible

An implementation of a scrollbar. The user positions the knob in the scrollbar to determine the contents of the viewing area. The program typically adjusts the display so that the end of the scrollbar represents the end of the displayable contents, or 100% of the contents. The start of the scrollbar is the beginning of the displayable contents, or 0%. The postion of the knob within those bounds then translates to the corresponding percentage of the displayable contents.

Typically, as the position of the knob in the scrollbar changes a corresponding change is made to the position of the JViewPort on the underlying view, changing the contents of the JViewPort.

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. A future release of Swing will provide support for long term persistence.

See Also:
  `JScrollPane`, Serialized Form

Inner Class Summary
`protected class` | `JScrollBar.AccessibleJScrollBar` The class used to obtain the accessible role for this object.

Inner classes inherited from class javax.swing.JComponent
`JComponent.AccessibleJComponent`

Field Summary
`protected int` | `blockIncrement`
`protected BoundedRangeModel` | `model` The model that represents the scrollbar's minimum, maximum, extent (aka "visibleAmount") and current value.
`protected int` | `orientation`
`protected int` | `unitIncrement`

Fields inherited from class javax.swing.JComponent
`accessibleContext, 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
`BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

Constructor Summary
`JScrollBar()` Creates a vertical scrollbar with the following initial values: minimum = 0 maximum = 100 value = 0 extent = 10
`JScrollBar(int orientation)` Creates a scrollbar with the specified orientation and the following initial values: minimum = 0 maximum = 100 value = 0 extent = 10
`JScrollBar(int orientation, int value, int extent, int min, int max)` Creates a scrollbar with the specified orientation, value, extent, mimimum, and maximum.

Method Summary
`void` | `addAdjustmentListener(java.awt.event.AdjustmentListener l)` Adds an AdjustmentListener.
`protected void` | `fireAdjustmentValueChanged(int id, int type, int value)`
`AccessibleContext` | `getAccessibleContext()` Get the AccessibleContext associated with this JComponent
`int` | `getBlockIncrement()` For backwards compatibility with java.awt.Scrollbar.
`int` | `getBlockIncrement(int direction)` Returns the amount to change the scrollbar's value by, given a block (usually "page") up/down request.
`int` | `getMaximum()` The maximum value of the scrollbar is maximum - extent.
`java.awt.Dimension` | `getMaximumSize()` The scrollbar is flexible along it's scrolling axis and rigid along the other axis.
`int` | `getMinimum()` Returns the minimum value supported by the scrollbar (usually zero).
`java.awt.Dimension` | `getMinimumSize()` The scrollbar is flexible along it's scrolling axis and rigid along the other axis.
`BoundedRangeModel` | `getModel()` Returns data model that handles the scrollbar's four fundamental properties: minimum, maximum, value, extent.
`int` | `getOrientation()` Returns the component's orientation (horizontal or vertical).
`ScrollBarUI` | `getUI()` Returns the delegate that implements the look and feel for this component.
`java.lang.String` | `getUIClassID()` Returns the name of the LookAndFeel class for this component.
`int` | `getUnitIncrement()` For backwards compatibility with java.awt.Scrollbar.
`int` | `getUnitIncrement(int direction)` Returns the amount to change the scrollbar's value by, given a unit up/down request.
`int` | `getValue()` Returns the scrollbar's value.
`boolean` | `getValueIsAdjusting()` True if the scrollbar knob is being dragged.
`int` | `getVisibleAmount()` Returns the scrollbar's extent, aka its "visibleAmount".
`protected java.lang.String` | `paramString()` Returns a string representation of this JScrollBar.
`void` | `removeAdjustmentListener(java.awt.event.AdjustmentListener l)` Removes an AdjustmentEvent listener.
`void` | `setBlockIncrement(int blockIncrement)` Sets the blockIncrement property.
`void` | `setEnabled(boolean x)` Enables the component so that the knob position can be changed.
`void` | `setMaximum(int maximum)` Sets the model's maximum property.
`void` | `setMinimum(int minimum)` Sets the model's minimum property.
`void` | `setModel(BoundedRangeModel newModel)` Sets the model that handles the scrollbar's four fundamental properties: minimum, maximum, value, extent.
`void` | `setOrientation(int orientation)` Set the scrollbar's orientation to either VERTICAL or HORIZONTAL.
`void` | `setUnitIncrement(int unitIncrement)` Sets the unitIncrement property.
`void` | `setValue(int value)` Sets the scrollbar's value.
`void` | `setValueIsAdjusting(boolean b)` Sets the model's valueIsAdjusting property.
`void` | `setValues(int newValue, int newExtent, int newMin, int newMax)` Sets the four BoundedRangeModel properties after forcing the arguments to obey the usual constraints: minimum <= value <= value+extent <= maximum
`void` | `setVisibleAmount(int extent)` Set the model's extent property.
`void` | `updateUI()` Overrides `JComponent.updateUI`.

Methods inherited from class javax.swing.JComponent
`addAncestorListener, addNotify, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInsets, getInsets, getLocation, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, processComponentKeyEvent, processFocusEvent, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setFont, setForeground, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVisible, unregisterKeyboardAction, update`

Methods inherited from class java.awt.Container
`add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree`

Methods inherited from class java.awt.Component
`action, add, addComponentListener, addFocusListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, getBackground, getBounds, getColorModel, getCursor, getFont, getFontMetrics, getForeground, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hide, imageUpdate, inside, isEnabled, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setCursor, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### model

    protected BoundedRangeModel model

  The model that represents the scrollbar's minimum, maximum, extent (aka "visibleAmount") and current value.
  See Also:
    `setModel(javax.swing.BoundedRangeModel)`

### orientation

    protected int orientation

  See Also:
    `setOrientation(int)`

### unitIncrement

    protected int unitIncrement

  See Also:
    `setUnitIncrement(int)`

### blockIncrement

    protected int blockIncrement

  See Also:
    `setBlockIncrement(int)`

Constructor Detail

### JScrollBar

    public JScrollBar(int orientation,
                      int value,
                      int extent,
                      int min,
                      int max)

  Creates a scrollbar with the specified orientation, value, extent, mimimum, and maximum. The "extent" is the size of the viewable area. It is also known as the "visible amount".

  Note: Use `setBlockIncrement` to set the block increment to a size slightly smaller than the view's extent. That way, when the user jumps the knob to an adjacent position, one or two lines of the original contents remain in view.

  Throws:
    java.lang.IllegalArgumentException - if orientation is not one of VERTICAL, HORIZONTAL
  See Also:
    `setOrientation(int)`, `setValue(int)`, `setVisibleAmount(int)`, `setMinimum(int)`, `setMaximum(int)`

### JScrollBar

    public JScrollBar(int orientation)

  Creates a scrollbar with the specified orientation and the following initial values:

       minimum = 0
       maximum = 100
       value = 0
       extent = 10

### JScrollBar

    public JScrollBar()

  Creates a vertical scrollbar with the following initial values:

       minimum = 0
       maximum = 100
       value = 0
       extent = 10

Method Detail

### getUI

    public ScrollBarUI getUI()

  Returns the delegate that implements the look and feel for this component.
  See Also:
    `JComponent.setUI(javax.swing.plaf.ComponentUI)`

### updateUI

    public void updateUI()

  Overrides `JComponent.updateUI`.
  Overrides:
    updateUI in class JComponent
  See Also:
    `JComponent.updateUI()`

### getUIClassID

    public java.lang.String getUIClassID()

  Returns the name of the LookAndFeel class for this component.
  Returns:
    "ScrollBarUI"
  Overrides:
    getUIClassID in class JComponent
  See Also:
    `JComponent.getUIClassID()`, `UIDefaults.getUI(javax.swing.JComponent)`

### getOrientation

    public int getOrientation()

  Returns the component's orientation (horizontal or vertical).
  Specified by:
    getOrientation in interface java.awt.Adjustable
  Returns:
    VERTICAL or HORIZONTAL
  See Also:
    `setOrientation(int)`, `Adjustable.getOrientation()`

### setOrientation

    public void setOrientation(int orientation)

  Set the scrollbar's orientation to either VERTICAL or HORIZONTAL.
  Throws:
    java.lang.IllegalArgumentException - if orientation is not one of VERTICAL, HORIZONTAL
  See Also:
    `getOrientation()`

### getModel

    public BoundedRangeModel getModel()

  Returns data model that handles the scrollbar's four fundamental properties: minimum, maximum, value, extent.
  See Also:
    `setModel(javax.swing.BoundedRangeModel)`

### setModel

    public void setModel(BoundedRangeModel newModel)

  Sets the model that handles the scrollbar's four fundamental properties: minimum, maximum, value, extent.
  See Also:
    `getModel()`

### getUnitIncrement

    public int getUnitIncrement(int direction)

  Returns the amount to change the scrollbar's value by, given a unit up/down request. A ScrollBarUI implementation typically calls this method when the user clicks on a scrollbar up/down arrow and uses the result to update the scrollbar's value. Subclasses my override this method to compute a value, e.g. the change required to scroll up or down one (variable height) line text or one row in a table.

  The JScrollPane component creates scrollbars (by default) that override this method and delegate to the viewports Scrollable view, if it has one. The Scrollable interface provides a more specialized version of this method.

  Parameters:
    `direction` - is -1 or 1 for up/down respectively
  Returns:
    the value of the unitIncrement property
  See Also:
    `setUnitIncrement(int)`, `setValue(int)`, `Scrollable.getScrollableUnitIncrement(java.awt.Rectangle, int, int)`

### setUnitIncrement

    public void setUnitIncrement(int unitIncrement)

  Sets the unitIncrement property.
  Specified by:
    setUnitIncrement in interface java.awt.Adjustable
  See Also:
    `getUnitIncrement(int)`

### getBlockIncrement

    public int getBlockIncrement(int direction)

  Returns the amount to change the scrollbar's value by, given a block (usually "page") up/down request. A ScrollBarUI implementation typically calls this method when the user clicks above or below the scrollbar "knob" to change the value up or down by large amount. Subclasses my override this method to compute a value, e.g. the change required to scroll up or down one paragraph in a text document.

  The JScrollPane component creates scrollbars (by default) that override this method and delegate to the viewports Scrollable view, if it has one. The Scrollable interface provides a more specialized version of this method.

  Parameters:
    `direction` - is -1 or 1 for up/down respectively
  Returns:
    the value of the blockIncrement property
  See Also:
    `setBlockIncrement(int)`, `setValue(int)`, `Scrollable.getScrollableBlockIncrement(java.awt.Rectangle, int, int)`

### setBlockIncrement

    public void setBlockIncrement(int blockIncrement)

  Sets the blockIncrement property.
  Specified by:
    setBlockIncrement in interface java.awt.Adjustable
  See Also:
    `getBlockIncrement()`

### getUnitIncrement

    public int getUnitIncrement()

  For backwards compatibility with java.awt.Scrollbar.
  Specified by:
    getUnitIncrement in interface java.awt.Adjustable
  See Also:
    `Adjustable.getUnitIncrement()`, `getUnitIncrement(int)`

### getBlockIncrement

    public int getBlockIncrement()

  For backwards compatibility with java.awt.Scrollbar.
  Specified by:
    getBlockIncrement in interface java.awt.Adjustable
  See Also:
    `Adjustable.getBlockIncrement()`, `getBlockIncrement(int)`

### getValue

    public int getValue()

  Returns the scrollbar's value.
  Specified by:
    getValue in interface java.awt.Adjustable
  Returns:
    the model's value property
  See Also:
    `setValue(int)`

### setValue

    public void setValue(int value)

  Sets the scrollbar's value. This method just forwards the value to the model.
  Specified by:
    setValue in interface java.awt.Adjustable
  See Also:
    `getValue()`, `BoundedRangeModel.setValue(int)`

### getVisibleAmount

    public int getVisibleAmount()

  Returns the scrollbar's extent, aka its "visibleAmount". In many scrollbar look and feel implementations the size of the scrollbar "knob" or "thumb" is proportional to the extent.
  Specified by:
    getVisibleAmount in interface java.awt.Adjustable
  Returns:
    the value of the model's extent property
  See Also:
    `setVisibleAmount(int)`

### setVisibleAmount

    public void setVisibleAmount(int extent)

  Set the model's extent property.
  Specified by:
    setVisibleAmount in interface java.awt.Adjustable
  See Also:
    `getVisibleAmount()`, `BoundedRangeModel.setExtent(int)`

### getMinimum

    public int getMinimum()

  Returns the minimum value supported by the scrollbar (usually zero).
  Specified by:
    getMinimum in interface java.awt.Adjustable
  Returns:
    the value of the model's minimum property
  See Also:
    `setMinimum(int)`

### setMinimum

    public void setMinimum(int minimum)

  Sets the model's minimum property.
  Specified by:
    setMinimum in interface java.awt.Adjustable
  See Also:
    `getMinimum()`, `BoundedRangeModel.setMinimum(int)`

### getMaximum

    public int getMaximum()

  The maximum value of the scrollbar is maximum - extent.
  Specified by:
    getMaximum in interface java.awt.Adjustable
  Returns:
    the value of the model's maximum property
  See Also:
    `setMaximum(int)`

### setMaximum

    public void setMaximum(int maximum)

  Sets the model's maximum property. Note that the scrollbar's value can only be set to maximum - extent.
  Specified by:
    setMaximum in interface java.awt.Adjustable
  See Also:
    `getMaximum()`, `BoundedRangeModel.setMaximum(int)`

### getValueIsAdjusting

    public boolean getValueIsAdjusting()

  True if the scrollbar knob is being dragged.
  Returns:
    the value of the model's valueIsAdjusting property
  See Also:
    `setValueIsAdjusting(boolean)`

### setValueIsAdjusting

    public void setValueIsAdjusting(boolean b)

  Sets the model's valueIsAdjusting property. Scrollbar look and feel implementations should set this property to true when a knob drag begins, and to false when the drag ends. The scrollbar model will not generate ChangeEvents while valueIsAdjusting is true.
  See Also:
    `getValueIsAdjusting()`, `BoundedRangeModel.setValueIsAdjusting(boolean)`

### setValues

    public void setValues(int newValue,
                          int newExtent,
                          int newMin,
                          int newMax)

  Sets the four BoundedRangeModel properties after forcing the arguments to obey the usual constraints:

       minimum <= value <= value+extent <= maximum

  See Also:
    `BoundedRangeModel.setRangeProperties(int, int, int, int, boolean)`, `setValue(int)`, `setVisibleAmount(int)`, `setMinimum(int)`, `setMaximum(int)`

### addAdjustmentListener

    public void addAdjustmentListener(java.awt.event.AdjustmentListener l)

  Adds an AdjustmentListener. Adjustment listeners are notified each time the scrollbar's model changes. Adjustment events are provided for backwards compatability with java.awt.Scrollbar.

  Note that the AdjustmentEvents type property will always have a placeholder value of AdjustmentEvent.TRACK because all changes to a BoundedRangeModels value are considered equivalent. To change the value of a BoundedRangeModel one just sets its value property, i.e. model.setValue(123). No information about the origin of the change, e.g. it's a block decrement, is provided. We don't try fabricate the origin of the change here.

  Specified by:
    addAdjustmentListener in interface java.awt.Adjustable
  Parameters:
    `l` - the AdjustmentLister to add
  See Also:
    `removeAdjustmentListener(java.awt.event.AdjustmentListener)`, `BoundedRangeModel.addChangeListener(javax.swing.event.ChangeListener)`

### removeAdjustmentListener

    public void removeAdjustmentListener(java.awt.event.AdjustmentListener l)

  Removes an AdjustmentEvent listener.
  Specified by:
    removeAdjustmentListener in interface java.awt.Adjustable
  Parameters:
    `l` - the AdjustmentLister to remove
  See Also:
    `addAdjustmentListener(java.awt.event.AdjustmentListener)`

### fireAdjustmentValueChanged

    protected void fireAdjustmentValueChanged(int id,
                                              int type,
                                              int value)

### getMinimumSize

    public java.awt.Dimension getMinimumSize()

  The scrollbar is flexible along it's scrolling axis and rigid along the other axis.
  Overrides:
    getMinimumSize in class JComponent

### getMaximumSize

    public java.awt.Dimension getMaximumSize()

  The scrollbar is flexible along it's scrolling axis and rigid along the other axis.
  Overrides:
    getMaximumSize in class JComponent

### setEnabled

    public void setEnabled(boolean x)

  Enables the component so that the knob position can be changed. When the disabled, the knob position cannot be changed.
  Parameters:
    `b` - a boolean value, where true enables the component and false disables it
  Overrides:
    setEnabled in class JComponent

### paramString

    protected java.lang.String paramString()

  Returns a string representation of this JScrollBar. This method is intended to be used only for debugging purposes, and the content and format of the returned string may vary between implementations. The returned string may be empty but may not be `null`.

  Overriding paramString() to provide information about the specific new aspects of the JFC components.

  Returns:
    a string representation of this JScrollBar.
  Overrides:
    paramString in class JComponent

### getAccessibleContext

    public AccessibleContext getAccessibleContext()

  Get the AccessibleContext associated with this JComponent
  Specified by:
    getAccessibleContext in interface Accessible
  Returns:
    the AccessibleContext of this JComponent
  Overrides:
    getAccessibleContext in class JComponent

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Swing 1.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.