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
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
Modifier and TypeFieldDescriptionprotected MetalScrollButton
The decrease button.static final String
The propertyJScrollBar.isFreeStanding
.protected MetalScrollButton
The increase button.protected boolean
The value of the propertyJScrollBar.isFreeStanding
.protected int
The width of the scroll bar.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
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
Configures the scroll bar colors.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
Creates a property change listener.static ComponentUI
Constructs a newMetalScrollBarUI
instance.protected Dimension
Returns the smallest acceptable size for the thumb.A vertical scrollbar's preferred width is the maximum of preferred widths of the (nonnull
) increment/decrement buttons, and the minimum width of the thumb.protected void
Installs the defaults.protected void
Installs the listeners.protected void
paintThumb
(Graphics g, JComponent c, Rectangle thumbBounds) Paints the thumb.protected void
paintTrack
(Graphics g, JComponent c, Rectangle trackBounds) Paints the track.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
-
Field Details
-
increaseButton
The increase button. -
decreaseButton
The decrease button. -
scrollBarWidth
protected int scrollBarWidthThe width of the scroll bar. -
FREE_STANDING_PROP
-
isFreeStanding
protected boolean isFreeStandingThe value of the propertyJScrollBar.isFreeStanding
.
-
-
Constructor Details
-
MetalScrollBarUI
public MetalScrollBarUI()Constructs aMetalScrollBarUI
.
-
-
Method Details
-
createUI
Constructs a newMetalScrollBarUI
instance.- Parameters:
c
- a component- Returns:
- a new
MetalScrollBarUI
instance
-
installDefaults
protected void installDefaults()Description copied from class:BasicScrollBarUI
Installs the defaults.- Overrides:
installDefaults
in classBasicScrollBarUI
-
installListeners
protected void installListeners()Description copied from class:BasicScrollBarUI
Installs the listeners.- Overrides:
installListeners
in classBasicScrollBarUI
-
createPropertyChangeListener
Description copied from class:BasicScrollBarUI
Creates a property change listener.- Overrides:
createPropertyChangeListener
in classBasicScrollBarUI
- Returns:
- a property change listener
-
configureScrollBarColors
protected void configureScrollBarColors()Description copied from class:BasicScrollBarUI
Configures the scroll bar colors.- Overrides:
configureScrollBarColors
in classBasicScrollBarUI
-
getPreferredSize
Description copied from class:BasicScrollBarUI
A vertical scrollbar's preferred width is the maximum of preferred widths of the (nonnull
) 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 classBasicScrollBarUI
- Parameters:
c
- theJScrollBar
that's delegating this method to us- Returns:
- the preferred size of a Basic JScrollBar
- See Also:
-
createDecreaseButton
Returns the view that represents the decrease view.- Overrides:
createDecreaseButton
in classBasicScrollBarUI
- Parameters:
orientation
- the orientation- Returns:
- a decrease button
-
createIncreaseButton
Returns the view that represents the increase view.- Overrides:
createIncreaseButton
in classBasicScrollBarUI
- Parameters:
orientation
- the orientation- Returns:
- an increase button
-
paintTrack
Description copied from class:BasicScrollBarUI
Paints the track.- Overrides:
paintTrack
in classBasicScrollBarUI
- Parameters:
g
- the graphicsc
- the componenttrackBounds
- the track bounds
-
paintThumb
Description copied from class:BasicScrollBarUI
Paints the thumb.- Overrides:
paintThumb
in classBasicScrollBarUI
- Parameters:
g
- the graphicsc
- the componentthumbBounds
- the thumb bounds
-
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 classBasicScrollBarUI
- Returns:
- The smallest acceptable size for the thumb.
- See Also:
-
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 classBasicScrollBarUI
- Parameters:
x
- set the x location of the thumby
- set the y location of the thumbwidth
- set the width of the thumbheight
- set the height of the thumb- See Also:
-