Class MetalScrollBarUI

All Implemented Interfaces:
LayoutManager, SwingConstants

public class MetalScrollBarUI
extends BasicScrollBarUI

Implementation of ScrollBarUI for the Metal Look and Feel

Nested Classes

Nested classes/interfaces inherited from class javax.swing.plaf.basic.BasicScrollBarUI

BasicScrollBarUI.ArrowButtonListener, BasicScrollBarUI.ModelListener, BasicScrollBarUI.PropertyChangeHandler, BasicScrollBarUI.ScrollListener, BasicScrollBarUI.TrackListener

Fields

Modifier and Type Field and Description
protected javax.swing.plaf.metal.MetalBumps bumps
protected MetalScrollButton decreaseButton
static String FREE_STANDING_PROP
protected MetalScrollButton increaseButton
protected boolean isFreeStanding
protected int scrollBarWidth

Fields inherited from class javax.swing.plaf.basic.BasicScrollBarUI

buttonListener, decrButton, DECREASE_HIGHLIGHT, decrGap, incrButton, INCREASE_HIGHLIGHT, incrGap, isDragging, maximumThumbSize, minimumThumbSize, modelListener, NO_HIGHLIGHT, propertyChangeListener, scrollbar, scrollListener, scrollTimer, thumbDarkShadowColor, thumbLightShadowColor, thumbRect, trackColor, trackHighlight, trackHighlightColor, trackListener, trackRect

Fields inherited from interface javax.swing.SwingConstants

BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST

Constructors

Constructor and Description
MetalScrollBarUI()

Methods

Modifier and Type Method and Description
protected void configureScrollBarColors()
protected JButton createDecreaseButton(int orientation)

Returns the view that represents the decrease view.

protected JButton createIncreaseButton(int orientation)

Returns the view that represents the increase view.

protected PropertyChangeListener createPropertyChangeListener()
static ComponentUI createUI(JComponent c)
protected Dimension getMinimumThumbSize()

Returns the smallest acceptable size for the thumb.

Dimension getPreferredSize(JComponent c)

A vertical scrollbar's preferred width is the maximum of preferred widths of the (non null) increment/decrement buttons, and the minimum width of the thumb.

protected void installDefaults()
protected void installListeners()
protected void paintThumb(Graphics g, JComponent c, Rectangle thumbBounds)
protected void paintTrack(Graphics g, JComponent c, Rectangle trackBounds)
protected void setThumbBounds(int x, int y, int width, int height)

This is overridden only to increase the invalid area.

Methods inherited from class javax.swing.plaf.basic.BasicScrollBarUI

addLayoutComponent, createArrowButtonListener, createModelListener, createScrollListener, createTrackListener, getMaximumSize, getMaximumThumbSize, getSupportsAbsolutePositioning, getThumbBounds, getTrackBounds, installComponents, installKeyboardActions, installUI, isThumbRollover, layoutContainer, layoutHScrollbar, layoutVScrollbar, minimumLayoutSize, paint, paintDecreaseHighlight, paintIncreaseHighlight, preferredLayoutSize, removeLayoutComponent, scrollByBlock, scrollByUnit, setThumbRollover, uninstallComponents, uninstallDefaults, uninstallKeyboardActions, uninstallListeners, uninstallUI

Methods inherited from class javax.swing.plaf.ComponentUI

contains, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, getMinimumSize, update

Methods inherited from class java.lang.Object

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

Fields

bumps

protected javax.swing.plaf.metal.MetalBumps bumps

increaseButton

protected MetalScrollButton increaseButton

decreaseButton

protected MetalScrollButton decreaseButton

scrollBarWidth

protected int scrollBarWidth

FREE_STANDING_PROP

public static final String FREE_STANDING_PROP
See Also:
Constant Field Values

isFreeStanding

protected boolean isFreeStanding

Constructors

MetalScrollBarUI

public MetalScrollBarUI()

Methods

createUI

public static ComponentUI createUI(JComponent c)

installDefaults

protected void installDefaults()
Overrides:
installDefaults in class BasicScrollBarUI

installListeners

protected void installListeners()
Overrides:
installListeners in class BasicScrollBarUI

createPropertyChangeListener

protected PropertyChangeListener createPropertyChangeListener()
Overrides:
createPropertyChangeListener in class BasicScrollBarUI

configureScrollBarColors

protected void configureScrollBarColors()
Overrides:
configureScrollBarColors in class BasicScrollBarUI

getPreferredSize

public Dimension getPreferredSize(JComponent c)

Description copied from class: BasicScrollBarUI

A vertical scrollbar's preferred width is the maximum of preferred widths of the (non null) increment/decrement buttons, and the minimum width of the thumb. The preferred height is the sum of the preferred heights of the same parts. The basis for the preferred size of a horizontal scrollbar is similar.

The preferredSize is only computed once, subsequent calls to this method just return a cached size.

Overrides:
getPreferredSize in class BasicScrollBarUI
Parameters:
c - the JScrollBar that's delegating this method to us
Returns:
the preferred size of a Basic JScrollBar
See Also:
BasicScrollBarUI.getMaximumSize(javax.swing.JComponent), ComponentUI.getMinimumSize(javax.swing.JComponent)

createDecreaseButton

protected JButton createDecreaseButton(int orientation)

Returns the view that represents the decrease view.

Overrides:
createDecreaseButton in class BasicScrollBarUI

createIncreaseButton

protected JButton createIncreaseButton(int orientation)

Returns the view that represents the increase view.

Overrides:
createIncreaseButton in class BasicScrollBarUI

paintTrack

protected void paintTrack(Graphics g,
                          JComponent c,
                          Rectangle trackBounds)
Overrides:
paintTrack in class BasicScrollBarUI

paintThumb

protected void paintThumb(Graphics g,
                          JComponent c,
                          Rectangle thumbBounds)
Overrides:
paintThumb in class BasicScrollBarUI

getMinimumThumbSize

protected Dimension getMinimumThumbSize()

Description copied from class: BasicScrollBarUI

Returns the smallest acceptable size for the thumb. If the scrollbar becomes so small that this size isn't available, the thumb will be hidden.

Warning : the value returned by this method should not be be modified, it's a shared static constant.

Overrides:
getMinimumThumbSize in class BasicScrollBarUI
Returns:
The smallest acceptable size for the thumb.
See Also:
BasicScrollBarUI.getMaximumThumbSize()

setThumbBounds

protected void setThumbBounds(int x,
                              int y,
                              int width,
                              int height)

This is overridden only to increase the invalid area. This ensures that the "Shadow" below the thumb is invalidated

Overrides:
setThumbBounds in class BasicScrollBarUI
See Also:
BasicScrollBarUI.getThumbBounds()

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/javase/8/docs/api/javax/swing/plaf/metal/MetalScrollBarUI.html