Adjustable
, ImageObserver
, MenuContainer
, Serializable
, Accessible
JScrollPane.ScrollBar
@JavaBean(defaultProperty="UI", description="A component that helps determine the visible content range of an area.") public class JScrollBar extends JComponent implements Adjustable, Accessible
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: Swing is not thread safe. For more information see Swing's Threading Policy.
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. As of 1.4, support for long term storage
of all JavaBeans™
has been added to the java.beans
package.
Please see XMLEncoder
.
JScrollPane
Modifier and Type | Class | Description |
---|---|---|
protected class |
JScrollBar.AccessibleJScrollBar |
This class implements accessibility support for the
JScrollBar class. |
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Container.AccessibleAWTContainer
JComponent.AccessibleJComponent
Modifier and Type | Field | Description |
---|---|---|
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 |
HORIZONTAL, NO_ORIENTATION, VERTICAL
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Constructor | Description |
---|---|
JScrollBar() |
Creates a vertical scrollbar with the following initial values:
|
JScrollBar(int orientation) |
Creates a scrollbar with the specified orientation
and the following initial values:
|
JScrollBar(int orientation,
int value,
int extent,
int min,
int max) |
Creates a scrollbar with the specified orientation,
value, extent, minimum, and maximum.
|
Modifier and Type | Method | Description |
---|---|---|
void |
addAdjustmentListener(AdjustmentListener l) |
Adds an AdjustmentListener.
|
protected void |
fireAdjustmentValueChanged(int id,
int type,
int value) |
Notify listeners that the scrollbar's model has changed.
|
AccessibleContext |
getAccessibleContext() |
Gets the AccessibleContext associated with this JScrollBar.
|
AdjustmentListener[] |
getAdjustmentListeners() |
Returns an array of all the
AdjustmentListener s added
to this JScrollBar with addAdjustmentListener(). |
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.
|
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).
|
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() |
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 String |
paramString() |
Returns a string representation of this JScrollBar.
|
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 |
setUI(ScrollBarUI ui) |
Sets the L&F object that renders this component.
|
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:
|
void |
setVisibleAmount(int extent) |
Set the model's extent property.
|
void |
updateUI() |
Overrides
JComponent.updateUI . |
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
protected BoundedRangeModel model
setModel(javax.swing.BoundedRangeModel)
protected int orientation
setOrientation(int)
protected int unitIncrement
setUnitIncrement(int)
protected int blockIncrement
setBlockIncrement(int)
public JScrollBar(int orientation, int value, int extent, int min, int max)
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.
orientation
- an orientation of the JScrollBar
value
- an int giving the current valueextent
- an int giving the amount by which the value can "jump"min
- an int giving the minimum valuemax
- an int giving the maximum valueIllegalArgumentException
- if orientation is not one of VERTICAL, HORIZONTALsetOrientation(int)
,
setValue(int)
,
setVisibleAmount(int)
,
setMinimum(int)
,
setMaximum(int)
public JScrollBar(int orientation)
minimum = 0 maximum = 100 value = 0 extent = 10
orientation
- an orientation of the JScrollBar
public JScrollBar()
minimum = 0 maximum = 100 value = 0 extent = 10
@BeanProperty(hidden=true, visualUpdate=true, description="The UI object that implements the Component\'s LookAndFeel") public void setUI(ScrollBarUI ui)
ui
- the ScrollBarUI
L&F objectUIDefaults.getUI(javax.swing.JComponent)
public ScrollBarUI getUI()
getUI
in class JComponent
JComponent.setUI(javax.swing.plaf.ComponentUI)
public void updateUI()
JComponent.updateUI
.updateUI
in class JComponent
JComponent.updateUI()
@BeanProperty(bound=false) public String getUIClassID()
getUIClassID
in class JComponent
JComponent.getUIClassID()
,
UIDefaults.getUI(javax.swing.JComponent)
public int getOrientation()
getOrientation
in interface Adjustable
setOrientation(int)
,
Adjustable.getOrientation()
@BeanProperty(preferred=true, visualUpdate=true, enumerationValues={"JScrollBar.VERTICAL","JScrollBar.HORIZONTAL"}, description="The scrollbar\'s orientation.") public void setOrientation(int orientation)
orientation
- an orientation of the JScrollBar
IllegalArgumentException
- if orientation is not one of VERTICAL, HORIZONTALgetOrientation()
public BoundedRangeModel getModel()
setModel(javax.swing.BoundedRangeModel)
@BeanProperty(expert=true, description="The scrollbar\'s BoundedRangeModel.") public void setModel(BoundedRangeModel newModel)
newModel
- a new modelgetModel()
public int getUnitIncrement(int direction)
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.
Some look and feels implement custom scrolling behavior and ignore this property.
direction
- is -1 or 1 for up/down respectivelysetUnitIncrement(int)
,
setValue(int)
,
Scrollable.getScrollableUnitIncrement(java.awt.Rectangle, int, int)
@BeanProperty(preferred=true, description="The scrollbar\'s unit increment.") public void setUnitIncrement(int unitIncrement)
Note, that if the argument is equal to the value of Integer.MIN_VALUE, the most look and feels will not provide the scrolling to the right/down.
Some look and feels implement custom scrolling behavior and ignore this property.
setUnitIncrement
in interface Adjustable
unitIncrement
- the unit incrementgetUnitIncrement(int)
public int getBlockIncrement(int direction)
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.
Some look and feels implement custom scrolling behavior and ignore this property.
direction
- is -1 or 1 for up/down respectivelysetBlockIncrement(int)
,
setValue(int)
,
Scrollable.getScrollableBlockIncrement(java.awt.Rectangle, int, int)
@BeanProperty(preferred=true, description="The scrollbar\'s block increment.") public void setBlockIncrement(int blockIncrement)
Note, that if the argument is equal to the value of Integer.MIN_VALUE, the most look and feels will not provide the scrolling to the right/down.
Some look and feels implement custom scrolling behavior and ignore this property.
setBlockIncrement
in interface Adjustable
blockIncrement
- the block incrementgetBlockIncrement()
public int getUnitIncrement()
getUnitIncrement
in interface Adjustable
Adjustable.getUnitIncrement()
,
getUnitIncrement(int)
public int getBlockIncrement()
getBlockIncrement
in interface Adjustable
Adjustable.getBlockIncrement()
,
getBlockIncrement(int)
public int getValue()
getValue
in interface Adjustable
setValue(int)
@BeanProperty(bound=false, preferred=true, description="The scrollbar\'s current value.") public void setValue(int value)
setValue
in interface Adjustable
value
- the current value, between minimum
and maximum
- visibleAmount
getValue()
,
BoundedRangeModel.setValue(int)
public int getVisibleAmount()
getVisibleAmount
in interface Adjustable
setVisibleAmount(int)
@BeanProperty(bound=false, preferred=true, description="The amount of the view that is currently visible.") public void setVisibleAmount(int extent)
setVisibleAmount
in interface Adjustable
extent
- the length of the indicatorgetVisibleAmount()
,
BoundedRangeModel.setExtent(int)
public int getMinimum()
getMinimum
in interface Adjustable
setMinimum(int)
@BeanProperty(bound=false, preferred=true, description="The scrollbar\'s minimum value.") public void setMinimum(int minimum)
setMinimum
in interface Adjustable
minimum
- the minimum valuegetMinimum()
,
BoundedRangeModel.setMinimum(int)
public int getMaximum()
getMaximum
in interface Adjustable
setMaximum(int)
@BeanProperty(bound=false, preferred=true, description="The scrollbar\'s maximum value.") public void setMaximum(int maximum)
setMaximum
in interface Adjustable
maximum
- the maximum valuegetMaximum()
,
BoundedRangeModel.setMaximum(int)
public boolean getValueIsAdjusting()
setValueIsAdjusting(boolean)
@BeanProperty(bound=false, expert=true, description="True if the scrollbar thumb is being dragged.") public void setValueIsAdjusting(boolean b)
b
- true
if the upcoming changes to the value property are part of a seriesgetValueIsAdjusting()
,
BoundedRangeModel.setValueIsAdjusting(boolean)
public void setValues(int newValue, int newExtent, int newMin, int newMax)
minimum ≤ value ≤ value+extent ≤ maximum
newValue
- an int giving the current valuenewExtent
- an int giving the amount by which the value can "jump"newMin
- an int giving the minimum valuenewMax
- an int giving the maximum valueBoundedRangeModel.setRangeProperties(int, int, int, int, boolean)
,
setValue(int)
,
setVisibleAmount(int)
,
setMinimum(int)
,
setMaximum(int)
public void addAdjustmentListener(AdjustmentListener l)
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.
addAdjustmentListener
in interface Adjustable
l
- the AdjustmentLister to addremoveAdjustmentListener(java.awt.event.AdjustmentListener)
,
BoundedRangeModel.addChangeListener(javax.swing.event.ChangeListener)
public void removeAdjustmentListener(AdjustmentListener l)
removeAdjustmentListener
in interface Adjustable
l
- the AdjustmentLister to removeaddAdjustmentListener(java.awt.event.AdjustmentListener)
@BeanProperty(bound=false) public AdjustmentListener[] getAdjustmentListeners()
AdjustmentListener
s added
to this JScrollBar with addAdjustmentListener().AdjustmentListener
s added or an empty
array if no listeners have been addedprotected void fireAdjustmentValueChanged(int id, int type, int value)
id
- an integer indicating the type of event.type
- an integer indicating the adjustment type.value
- the current value of the adjustmentaddAdjustmentListener(java.awt.event.AdjustmentListener)
,
EventListenerList
public Dimension getMinimumSize()
getMinimumSize
in class JComponent
minimumSize
propertyJComponent.setMinimumSize(java.awt.Dimension)
,
ComponentUI
public Dimension getMaximumSize()
getMaximumSize
in class JComponent
maximumSize
propertyJComponent.setMaximumSize(java.awt.Dimension)
,
ComponentUI
public void setEnabled(boolean x)
setEnabled
in class JComponent
x
- a boolean value, where true enables the component and
false disables itComponent.isEnabled()
,
Component.isLightweight()
protected String paramString()
null
.paramString
in class JComponent
@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
getAccessibleContext
in interface Accessible
getAccessibleContext
in class Component
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2017, Oracle and/or its affiliates. 500 Oracle Parkway
Redwood Shores, CA 94065 USA. All rights reserved.
DRAFT 9-internal+0-adhoc.mlchung.jdk9-jdeps