Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Java™ Platform Standard Ed. 6
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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 inherited from class javax.swing.plaf.basic.BasicScrollBarUI
`BasicScrollBarUI.ArrowButtonListener, BasicScrollBarUI.ModelListener, BasicScrollBarUI.PropertyChangeHandler, BasicScrollBarUI.ScrollListener, BasicScrollBarUI.TrackListener`

Field Summary
`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, incrButton, INCREASE_HIGHLIGHT, 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`

Constructor Summary
`MetalScrollBarUI()`

Method Summary
`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()` Return 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`

Field Detail

### 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

Constructor Detail

### MetalScrollBarUI

    public MetalScrollBarUI()

Method Detail

### 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`
  Return 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()`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Java™ Platform Standard Ed. 6
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.