Module java.desktop
Package javax.swing.plaf.metal

# Class MetalScrollBarUI

java.lang.Object
javax.swing.plaf.ComponentUI
javax.swing.plaf.ScrollBarUI
javax.swing.plaf.basic.BasicScrollBarUI
javax.swing.plaf.metal.MetalScrollBarUI

All Implemented Interfaces:
  `LayoutManager`, `SwingConstants`

    public class MetalScrollBarUI
    extends BasicScrollBarUI

Implementation of ScrollBarUI for the Metal Look and Feel

## Nested Class Summary

## Nested classes/interfaces declared in class javax.swing.plaf.basic.BasicScrollBarUI

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

## Field Summary

Fields
Modifier and Type | Field | Description
--- | --- | ---
`protected MetalScrollButton` | `decreaseButton` | The decrease button.
`static String` | `FREE_STANDING_PROP` | The property `JScrollBar.isFreeStanding`.
`protected MetalScrollButton` | `increaseButton` | The increase button.
`protected boolean` | `isFreeStanding` | The value of the property `JScrollBar.isFreeStanding`.
`protected int` | `scrollBarWidth` | The width of the scroll bar.

### Fields declared in 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 declared in 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`

## Constructor Summary

Constructors
Constructor | Description
--- | ---
`MetalScrollBarUI()` |

## Method Summary

Modifier and Type | Method | Description
--- | --- | ---
`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.
`static ComponentUI` | `createUI​(JComponent c)` | Constructs a new `MetalScrollBarUI` instance.
`protected void` | `setThumbBounds​(int x, int y, int width, int height)` | This is overridden only to increase the invalid area.

### Methods declared in class javax.swing.plaf.basic.BasicScrollBarUI

`configureScrollBarColors, createArrowButtonListener, createModelListener, createPropertyChangeListener, createScrollListener, createTrackListener, getMaximumSize, getMaximumThumbSize, getMinimumThumbSize, getPreferredSize, getSupportsAbsolutePositioning, getThumbBounds, getTrackBounds, installComponents, installDefaults, installKeyboardActions, installListeners, installUI, isThumbRollover, layoutHScrollbar, layoutVScrollbar, paintDecreaseHighlight, paintIncreaseHighlight, paintThumb, paintTrack, scrollByBlock, scrollByUnit, setThumbRollover, uninstallComponents, uninstallDefaults, uninstallKeyboardActions, uninstallListeners, uninstallUI`

### Methods declared in class javax.swing.plaf.ComponentUI

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

### Methods declared in class java.lang.Object

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

### Methods declared in interface java.awt.LayoutManager

`addLayoutComponent, layoutContainer, minimumLayoutSize, preferredLayoutSize, removeLayoutComponent`

## Field Details

### increaseButton

protected MetalScrollButton increaseButton
The increase button.

### decreaseButton

protected MetalScrollButton decreaseButton
The decrease button.

### scrollBarWidth

protected int scrollBarWidth
The width of the scroll bar.

### FREE_STANDING_PROP

public static final String FREE_STANDING_PROP
The property `JScrollBar.isFreeStanding`.

See Also:
  Constant Field Values

### isFreeStanding

protected boolean isFreeStanding
The value of the property `JScrollBar.isFreeStanding`.

## Constructor Details

### MetalScrollBarUI

public MetalScrollBarUI()

## Method Details

### createUI

public static ComponentUI createUI​(JComponent c)
Constructs a new `MetalScrollBarUI` instance.

Parameters:
  `c` - a component
Returns:
  a new `MetalScrollBarUI` instance

### createDecreaseButton

protected JButton createDecreaseButton​(int orientation)
Returns the view that represents the decrease view.

Overrides:
  `createDecreaseButton` in class `BasicScrollBarUI`
Parameters:
  `orientation` - the orientation
Returns:
  a decrease button

### createIncreaseButton

protected JButton createIncreaseButton​(int orientation)
Returns the view that represents the increase view.

Overrides:
  `createIncreaseButton` in class `BasicScrollBarUI`
Parameters:
  `orientation` - the orientation
Returns:
  an increase button

### 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`
Parameters:
  `x` - set the x location of the thumb
  `y` - set the y location of the thumb
  `width` - set the width of the thumb
  `height` - set the height of the thumb
See Also:
  `BasicScrollBarUI.getThumbBounds()`