Contents | Package | Class | Tree | Deprecated | Index | Help Java 1.2 Beta 3
PREV | NEXT SHOW LISTS | HIDE LISTS

Class java.awt.swing.JScrollBar

java.lang.Object
    |
    +----java.awt.Component
            |
            +----java.awt.Container
                    |
                    +----java.awt.swing.JComponent
                            |
                            +----java.awt.swing.JScrollBar
Subclasses:
JScrollPane.ScrollBar

public class JScrollBar
extends JComponent
implements 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 Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


Inner Class Summary
 JScrollBar.AccessibleJScrollBar
The class used to obtain the accessible role for this object.
 
Inner classes inherited from class java.awt.swing.JComponent
 JComponent.AccessibleJComponent
 

Field Summary
int  blockIncrement
 
BoundedRangeModel  model
The model that represents the scrollbar's minimum, maximum, extent (aka "visibleAmount") and current value.
int  orientation
 
int  unitIncrement
 
 
Fields inherited from class java.awt.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(int orientation, int value, int extent, int min, int max)
Creates a scrollbar with the specified orientation, value, extent, mimimum, and maximum.
 JScrollBar(int orientation)
Creates a scrollbar with the specified orientation and the following initial values:
 minimum = 0 
 maximum = 100 
 value = 0
 extent = 10
 
 JScrollBar()
Creates a vertical scrollbar with the following initial values:
 minimum = 0 
 maximum = 100 
 value = 0
 extent = 10
 
 

Method Summary
void  addAdjustmentListener(AdjustmentListener l)
Adds and AdjustmentListener.
void  fireAdjustmentValueChanged(int id, int type, int value)
 
AccessibleContext  getAccessibleContext()
Get the AccessibleContext associated with this JComponent
int  getBlockIncrement(int direction)
Returns the amount to change the scrollbar's value by, given a block (usually "page") up/down request.
int  getBlockIncrement()
For backwards compatilbility with java.awt.Scrollbar.
int  getMaximum()
The maximum value of the scrollbar is maximum - extent.
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).
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).
java.awt.swing.plaf.ScrollBarUI  getUI()
Returns the delegate that implements the look and feel for this component.
String  getUIClassID()
Returns the name of the LookAndFeel class for this component.
int  getUnitIncrement(int direction)
Returns the amount to change the scrollbar's value by, given a unit up/down request.
int  getUnitIncrement()
For backwards compatilbility with java.awt.Scrollbar.
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".
void  removeAdjustmentListener(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()
 
 
Methods inherited from class java.awt.swing.JComponent
 addAncestorListener, addNotify, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInsets, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getUIClassID, 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, setBorder, setBounds, setDebugGraphicsOptions, setDoubleBuffered, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVisible, unregisterKeyboardAction, update, updateUI
 
Methods inherited from class java.awt.Container
 add, add, add, add, add, addContainerListener, addImpl, addNotify, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setLayout, update, validate, validateTree
 
Methods inherited from class java.awt.Component
 action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBounds, getColorModel, getComponentAt, getComponentAt, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getName, getParent, getPeer, getPreferredSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isDisplayable, isEnabled, isFocusTraversable, isLightweight, isOpaque, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paint, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setCursor, setDropTarget, setEnabled, setFont, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus, update, validate
 
Methods inherited from class java.lang.Object
 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, 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

orientation

protected int orientation
See Also:
setOrientation

unitIncrement

protected int unitIncrement
See Also:
setUnitIncrement

blockIncrement

protected int blockIncrement
See Also:
setBlockIncrement
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:
IllegalArgumentException - if orientation is not one of VERTICAL, HORIZONTAL
See Also:
setOrientation, setValue, #setExtent, setMinimum, setMaximum

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 java.awt.swing.plaf.ScrollBarUI getUI()
Returns the delegate that implements the look and feel for this component.
See Also:
setUI

updateUI

public void updateUI()
Overrides:
updateUI in class JComponent
See Also:
updateUI

getUIClassID

public String getUIClassID()
Returns the name of the LookAndFeel class for this component.
Returns:
"ScrollBarUI"
Overrides:
getUIClassID in class JComponent
See Also:
getUIClassID, getUI

getOrientation

public int getOrientation()
Returns the component's orientation (horizontal or vertical).
Implements:
getOrientation in interface Adjustable
Returns:
VERTICAL or HORIZONTAL
See Also:
setOrientation, getOrientation

setOrientation

public void setOrientation(int orientation)
Set the scrollbar's orientation to either VERTICAL or HORIZONTAL.
Throws:
IllegalArgumentException - if orientation is not one of VERTICAL, HORIZONTAL
See Also:
getOrientation, java.awt.Adjustable#setOrientation

getModel

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

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.

Implements:
getUnitIncrement in interface Adjustable
Parameters:
direction - is -1 or 1 for up/down respectively
Returns:
the value of the unitIncrement property
See Also:
setUnitIncrement, setValue, getScrollableUnitIncrement

setUnitIncrement

public void setUnitIncrement(int unitIncrement)
Sets the unitIncrement property.
Implements:
setUnitIncrement in interface Adjustable
See Also:
getUnitIncrement

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.

Implements:
getBlockIncrement in interface Adjustable
Parameters:
direction - is -1 or 1 for up/down respectively
Returns:
the value of the blockIncrement property
See Also:
setBlockIncrement, setValue, getScrollableBlockIncrement

setBlockIncrement

public void setBlockIncrement(int blockIncrement)
Sets the blockIncrement property.
Implements:
setBlockIncrement in interface Adjustable
See Also:
setBlockIncrement()

getUnitIncrement

public int getUnitIncrement()
For backwards compatilbility with java.awt.Scrollbar.
Implements:
getUnitIncrement in interface Adjustable
See Also:
getUnitIncrement, getUnitIncrement(int)

getBlockIncrement

public int getBlockIncrement()
For backwards compatilbility with java.awt.Scrollbar.
Implements:
getBlockIncrement in interface Adjustable
See Also:
getBlockIncrement, getBlockIncrement(int)

getValue

public int getValue()
Returns the scrollbar's value.
Implements:
getValue in interface Adjustable
Returns:
the model's value property
See Also:
setValue

setValue

public void setValue(int value)
Sets the scrollbar's value. This method just forwards the value to the model.
Implements:
setValue in interface Adjustable
See Also:
getValue, setValue

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.
Implements:
getVisibleAmount in interface Adjustable
Returns:
the value of the model's extent property
See Also:
setVisibleAmount

setVisibleAmount

public void setVisibleAmount(int extent)
Set the model's extent property.
Implements:
setVisibleAmount in interface Adjustable
See Also:
getVisibleAmount, setExtent

getMinimum

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

setMinimum

public void setMinimum(int minimum)
Sets the model's minimum property.
Implements:
setMinimum in interface Adjustable
See Also:
getMinimum, setMinimum

getMaximum

public int getMaximum()
The maximum value of the scrollbar is maximum - extent.
Implements:
getMaximum in interface Adjustable
Returns:
the value of the model's maximum property
See Also:
setMaximum

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.
Implements:
setMaximum in interface Adjustable
See Also:
getMaximum, setMaximum

getValueIsAdjusting

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

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, setValueIsAdjusting

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:
setRangeProperties, setValue, #setExtent, setMinimum, setMaximum

addAdjustmentListener

public void addAdjustmentListener(AdjustmentListener l)
Adds and 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.

Implements:
addAdjustmentListener in interface Adjustable
Parameters:
l - the AdjustmentLister to add
See Also:
removeAdjustmentListener, addChangeListener

removeAdjustmentListener

public void removeAdjustmentListener(AdjustmentListener l)
Removes an AdjustmentEvent listener.
Implements:
removeAdjustmentListener in interface Adjustable
Parameters:
l - the AdjustmentLister to remove
See Also:
addAdjustmentListener

fireAdjustmentValueChanged

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

getMinimumSize

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

getMaximumSize

public 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 Component

getAccessibleContext

public AccessibleContext getAccessibleContext()
Get the AccessibleContext associated with this JComponent
Implements:
getAccessibleContext in interface Accessible
Returns:
the AccessibleContext of this JComponent
Overrides:
getAccessibleContext in class JComponent

Contents | Package | Class | Tree | Deprecated | Index | Help Java 1.2 Beta 3
PREV | NEXT SHOW LISTS | HIDE LISTS

Submit a bug or feature
Submit comments/suggestions about new javadoc look.
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.