Class BasicSliderUI

Direct Known Subclasses:
MetalSliderUI, SynthSliderUI

public class BasicSliderUI extends SliderUI
A Basic L&F implementation of SliderUI.
  • Field Details Link icon

    • POSITIVE_SCROLL Link icon

      public static final int POSITIVE_SCROLL
      Positive scroll
      See Also:
    • NEGATIVE_SCROLL Link icon

      public static final int NEGATIVE_SCROLL
      Negative scroll
      See Also:
    • MIN_SCROLL Link icon

      public static final int MIN_SCROLL
      Minimum scroll
      See Also:
    • MAX_SCROLL Link icon

      public static final int MAX_SCROLL
      Maximum scroll
      See Also:
    • scrollTimer Link icon

      protected Timer scrollTimer
      Scroll timer
    • slider Link icon

      protected JSlider slider
      Slider
    • focusInsets Link icon

      protected Insets focusInsets
      Focus insets
    • insetCache Link icon

      protected Insets insetCache
      Inset cache
    • leftToRightCache Link icon

      protected boolean leftToRightCache
      Left-to-right cache
    • focusRect Link icon

      protected Rectangle focusRect
      Focus rectangle
    • contentRect Link icon

      protected Rectangle contentRect
      Content rectangle
    • labelRect Link icon

      protected Rectangle labelRect
      Label rectangle
    • tickRect Link icon

      protected Rectangle tickRect
      Tick rectangle
    • trackRect Link icon

      protected Rectangle trackRect
      Track rectangle
    • thumbRect Link icon

      protected Rectangle thumbRect
      Thumb rectangle
    • trackBuffer Link icon

      protected int trackBuffer
      The distance that the track is from the side of the control
    • trackListener Link icon

      protected BasicSliderUI.TrackListener trackListener
      Track listener
    • changeListener Link icon

      protected ChangeListener changeListener
      Change listener
    • componentListener Link icon

      protected ComponentListener componentListener
      Component listener
    • focusListener Link icon

      protected FocusListener focusListener
      Focus listener
    • scrollListener Link icon

      protected BasicSliderUI.ScrollListener scrollListener
      Scroll listener
    • propertyChangeListener Link icon

      protected PropertyChangeListener propertyChangeListener
      Property change listener
  • Constructor Details Link icon

    • BasicSliderUI Link icon

      @Deprecated(since="23", forRemoval=true) public BasicSliderUI()
      Deprecated, for removal: This API element is subject to removal in a future version.
      This constructor was exposed erroneously and will be removed in a future release. Use BasicSliderUI(JSlider) instead.
      Constructs a BasicSliderUI.
      Since:
      16
    • BasicSliderUI Link icon

      public BasicSliderUI(JSlider b)
      Constructs a BasicSliderUI.
      Parameters:
      b - a slider
  • Method Details Link icon

    • getShadowColor Link icon

      protected Color getShadowColor()
      Returns the shadow color.
      Returns:
      the shadow color
    • getHighlightColor Link icon

      protected Color getHighlightColor()
      Returns the highlight color.
      Returns:
      the highlight color
    • getFocusColor Link icon

      protected Color getFocusColor()
      Returns the focus color.
      Returns:
      the focus color
    • isDragging Link icon

      protected boolean isDragging()
      Returns true if the user is dragging the slider.
      Returns:
      true if the user is dragging the slider
      Since:
      1.5
    • createUI Link icon

      public static ComponentUI createUI(JComponent b)
      Creates a UI.
      Parameters:
      b - a component
      Returns:
      a UI
    • installUI Link icon

      public void installUI(JComponent c)
      Installs a UI.
      Overrides:
      installUI in class ComponentUI
      Parameters:
      c - a component
      See Also:
    • uninstallUI Link icon

      public void uninstallUI(JComponent c)
      Uninstalls a UI.
      Overrides:
      uninstallUI in class ComponentUI
      Parameters:
      c - a component
      See Also:
    • installDefaults Link icon

      protected void installDefaults(JSlider slider)
      Installs the defaults.
      Parameters:
      slider - a slider
    • uninstallDefaults Link icon

      protected void uninstallDefaults(JSlider slider)
      Uninstalls the defaults.
      Parameters:
      slider - a slider
    • createTrackListener Link icon

      protected BasicSliderUI.TrackListener createTrackListener(JSlider slider)
      Creates a track listener.
      Parameters:
      slider - a slider
      Returns:
      a track listener
    • createChangeListener Link icon

      protected ChangeListener createChangeListener(JSlider slider)
      Creates a change listener.
      Parameters:
      slider - a slider
      Returns:
      a change listener
    • createComponentListener Link icon

      protected ComponentListener createComponentListener(JSlider slider)
      Creates a composite listener.
      Parameters:
      slider - a slider
      Returns:
      a composite listener
    • createFocusListener Link icon

      protected FocusListener createFocusListener(JSlider slider)
      Creates a focus listener.
      Parameters:
      slider - a slider
      Returns:
      a focus listener
    • createScrollListener Link icon

      protected BasicSliderUI.ScrollListener createScrollListener(JSlider slider)
      Creates a scroll listener.
      Parameters:
      slider - a slider
      Returns:
      a scroll listener
    • createPropertyChangeListener Link icon

      protected PropertyChangeListener createPropertyChangeListener(JSlider slider)
      Creates a property change listener.
      Parameters:
      slider - a slider
      Returns:
      a property change listener
    • installListeners Link icon

      protected void installListeners(JSlider slider)
      Installs listeners.
      Parameters:
      slider - a slider
    • uninstallListeners Link icon

      protected void uninstallListeners(JSlider slider)
      Uninstalls listeners.
      Parameters:
      slider - a slider
    • installKeyboardActions Link icon

      protected void installKeyboardActions(JSlider slider)
      Installs keyboard actions.
      Parameters:
      slider - a slider
    • uninstallKeyboardActions Link icon

      protected void uninstallKeyboardActions(JSlider slider)
      Uninstalls keyboard actions.
      Parameters:
      slider - a slider
    • getBaseline Link icon

      public int getBaseline(JComponent c, int width, int height)
      Returns the baseline.
      Overrides:
      getBaseline in class ComponentUI
      Parameters:
      c - JComponent baseline is being requested for
      width - the width to get the baseline for
      height - the height to get the baseline for
      Returns:
      baseline or a value < 0 indicating there is no reasonable baseline
      Throws:
      NullPointerException - if c is null
      IllegalArgumentException - if width or height is < 0
      Since:
      1.6
      See Also:
    • getBaselineResizeBehavior Link icon

      public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
      Returns an enum indicating how the baseline of the component changes as the size changes.
      Overrides:
      getBaselineResizeBehavior in class ComponentUI
      Parameters:
      c - JComponent to return baseline resize behavior for
      Returns:
      an enum indicating how the baseline changes as the component size changes
      Throws:
      NullPointerException - if c is null
      Since:
      1.6
      See Also:
    • labelsHaveSameBaselines Link icon

      protected boolean labelsHaveSameBaselines()
      Returns true if all the labels from the label table have the same baseline.
      Returns:
      true if all the labels from the label table have the same baseline
      Since:
      1.6
    • getPreferredHorizontalSize Link icon

      public Dimension getPreferredHorizontalSize()
      Returns the preferred horizontal size.
      Returns:
      the preferred horizontal size
    • getPreferredVerticalSize Link icon

      public Dimension getPreferredVerticalSize()
      Returns the preferred vertical size.
      Returns:
      the preferred vertical size
    • getMinimumHorizontalSize Link icon

      public Dimension getMinimumHorizontalSize()
      Returns the minimum horizontal size.
      Returns:
      the minimum horizontal size
    • getMinimumVerticalSize Link icon

      public Dimension getMinimumVerticalSize()
      Returns the minimum vertical size.
      Returns:
      the minimum vertical size
    • getPreferredSize Link icon

      public Dimension getPreferredSize(JComponent c)
      Returns the preferred size.
      Overrides:
      getPreferredSize in class ComponentUI
      Parameters:
      c - a component
      Returns:
      the preferred size
      See Also:
    • getMinimumSize Link icon

      public Dimension getMinimumSize(JComponent c)
      Returns the minimum size.
      Overrides:
      getMinimumSize in class ComponentUI
      Parameters:
      c - a component
      Returns:
      the minimum size
      See Also:
    • getMaximumSize Link icon

      public Dimension getMaximumSize(JComponent c)
      Returns the maximum size.
      Overrides:
      getMaximumSize in class ComponentUI
      Parameters:
      c - a component
      Returns:
      the maximum size
      See Also:
    • calculateGeometry Link icon

      protected void calculateGeometry()
      Calculates the geometry.
    • calculateFocusRect Link icon

      protected void calculateFocusRect()
      Calculates the focus rectangle.
    • calculateThumbSize Link icon

      protected void calculateThumbSize()
      Calculates the thumb size rectangle.
    • calculateContentRect Link icon

      protected void calculateContentRect()
      Calculates the content rectangle.
    • calculateThumbLocation Link icon

      protected void calculateThumbLocation()
      Calculates the thumb location.
    • calculateTrackBuffer Link icon

      protected void calculateTrackBuffer()
      Calculates the track buffer.
    • calculateTrackRect Link icon

      protected void calculateTrackRect()
      Calculates the track rectangle.
    • getTickLength Link icon

      protected int getTickLength()
      Gets the height of the tick area for horizontal sliders and the width of the tick area for vertical sliders. BasicSliderUI uses the returned value to determine the tick area rectangle. If you want to give your ticks some room, make this larger than you need and paint your ticks away from the sides in paintTicks().
      Returns:
      an integer representing the height of the tick area for horizontal sliders, and the width of the tick area for the vertical sliders
    • calculateTickRect Link icon

      protected void calculateTickRect()
      Calculates the tick rectangle.
    • calculateLabelRect Link icon

      protected void calculateLabelRect()
      Calculates the label rectangle.
    • getThumbSize Link icon

      protected Dimension getThumbSize()
      Returns the thumb size.
      Returns:
      the thumb size
    • getWidthOfWidestLabel Link icon

      protected int getWidthOfWidestLabel()
      Returns the width of the widest label.
      Returns:
      the width of the widest label
    • getHeightOfTallestLabel Link icon

      protected int getHeightOfTallestLabel()
      Returns the height of the tallest label.
      Returns:
      the height of the tallest label
    • getWidthOfHighValueLabel Link icon

      protected int getWidthOfHighValueLabel()
      Returns the width of the highest value label.
      Returns:
      the width of the highest value label
    • getWidthOfLowValueLabel Link icon

      protected int getWidthOfLowValueLabel()
      Returns the width of the lowest value label.
      Returns:
      the width of the lowest value label
    • getHeightOfHighValueLabel Link icon

      protected int getHeightOfHighValueLabel()
      Returns the height of the highest value label.
      Returns:
      the height of the highest value label
    • getHeightOfLowValueLabel Link icon

      protected int getHeightOfLowValueLabel()
      Returns the height of the lowest value label.
      Returns:
      the height of the lowest value label
    • drawInverted Link icon

      protected boolean drawInverted()
      Draws inverted.
      Returns:
      the inverted-ness
    • getHighestValue Link icon

      protected Integer getHighestValue()
      Returns the biggest value that has an entry in the label table.
      Returns:
      biggest value that has an entry in the label table, or null.
      Since:
      1.6
    • getLowestValue Link icon

      protected Integer getLowestValue()
      Returns the smallest value that has an entry in the label table.
      Returns:
      smallest value that has an entry in the label table, or null.
      Since:
      1.6
    • getLowestValueLabel Link icon

      protected Component getLowestValueLabel()
      Returns the label that corresponds to the highest slider value in the label table.
      Returns:
      the label that corresponds to the highest slider value in the label table
      See Also:
    • getHighestValueLabel Link icon

      protected Component getHighestValueLabel()
      Returns the label that corresponds to the lowest slider value in the label table.
      Returns:
      the label that corresponds to the lowest slider value in the label table
      See Also:
    • recalculateIfInsetsChanged Link icon

      protected void recalculateIfInsetsChanged()
      Recalculates if the insets have changed.
    • recalculateIfOrientationChanged Link icon

      protected void recalculateIfOrientationChanged()
      Recalculates if the orientation has changed.
    • paintFocus Link icon

      public void paintFocus(Graphics g)
      Paints focus.
      Parameters:
      g - the graphics
    • paintTrack Link icon

      public void paintTrack(Graphics g)
      Paints track.
      Parameters:
      g - the graphics
    • paintTicks Link icon

      public void paintTicks(Graphics g)
      Paints ticks.
      Parameters:
      g - the graphics
    • paintMinorTickForHorizSlider Link icon

      protected void paintMinorTickForHorizSlider(Graphics g, Rectangle tickBounds, int x)
      Paints minor tick for horizontal slider.
      Parameters:
      g - the graphics
      tickBounds - the tick bounds
      x - the x coordinate
    • paintMajorTickForHorizSlider Link icon

      protected void paintMajorTickForHorizSlider(Graphics g, Rectangle tickBounds, int x)
      Paints major tick for horizontal slider.
      Parameters:
      g - the graphics
      tickBounds - the tick bounds
      x - the x coordinate
    • paintMinorTickForVertSlider Link icon

      protected void paintMinorTickForVertSlider(Graphics g, Rectangle tickBounds, int y)
      Paints minor tick for vertical slider.
      Parameters:
      g - the graphics
      tickBounds - the tick bounds
      y - the y coordinate
    • paintMajorTickForVertSlider Link icon

      protected void paintMajorTickForVertSlider(Graphics g, Rectangle tickBounds, int y)
      Paints major tick for vertical slider.
      Parameters:
      g - the graphics
      tickBounds - the tick bounds
      y - the y coordinate
    • paintLabels Link icon

      public void paintLabels(Graphics g)
      Paints the labels.
      Parameters:
      g - the graphics
    • paintHorizontalLabel Link icon

      protected void paintHorizontalLabel(Graphics g, int value, Component label)
      Called for every label in the label table. Used to draw the labels for horizontal sliders. The graphics have been translated to labelRect.y already.
      Parameters:
      g - the graphics context in which to paint
      value - the value of the slider
      label - the component label in the label table that needs to be painted
      See Also:
    • paintVerticalLabel Link icon

      protected void paintVerticalLabel(Graphics g, int value, Component label)
      Called for every label in the label table. Used to draw the labels for vertical sliders. The graphics have been translated to labelRect.x already.
      Parameters:
      g - the graphics context in which to paint
      value - the value of the slider
      label - the component label in the label table that needs to be painted
      See Also:
    • paintThumb Link icon

      public void paintThumb(Graphics g)
      Paints the thumb.
      Parameters:
      g - the graphics
    • setThumbLocation Link icon

      public void setThumbLocation(int x, int y)
      Sets the thumb location.
      Parameters:
      x - the x coordinate
      y - the y coordinate
    • scrollByBlock Link icon

      public void scrollByBlock(int direction)
      Scrolls by block.
      Parameters:
      direction - the direction
    • scrollByUnit Link icon

      public void scrollByUnit(int direction)
      Scrolls by unit.
      Parameters:
      direction - the direction
    • scrollDueToClickInTrack Link icon

      protected void scrollDueToClickInTrack(int dir)
      This function is called when a mousePressed was detected in the track, not in the thumb. The default behavior is to scroll by block. You can override this method to stop it from scrolling or to add additional behavior.
      Parameters:
      dir - the direction and number of blocks to scroll
    • xPositionForValue Link icon

      protected int xPositionForValue(int value)
      Returns the x position for a value.
      Parameters:
      value - the value
      Returns:
      the x position for a value
    • yPositionForValue Link icon

      protected int yPositionForValue(int value)
      Returns the y position for a value.
      Parameters:
      value - the value
      Returns:
      the y position for a value
    • yPositionForValue Link icon

      protected int yPositionForValue(int value, int trackY, int trackHeight)
      Returns the y location for the specified value. No checking is done on the arguments. In particular if trackHeight is negative undefined results may occur.
      Parameters:
      value - the slider value to get the location for
      trackY - y-origin of the track
      trackHeight - the height of the track
      Returns:
      the y location for the specified value of the slider
      Since:
      1.6
    • valueForYPosition Link icon

      public int valueForYPosition(int yPos)
      Returns the value at the y position. If yPos is beyond the track at the bottom or the top, this method sets the value to either the minimum or maximum value of the slider, depending on if the slider is inverted or not.
      Parameters:
      yPos - the location of the slider along the y axis
      Returns:
      the value at the y position
    • valueForXPosition Link icon

      public int valueForXPosition(int xPos)
      Returns the value at the x position. If xPos is beyond the track at the left or the right, this method sets the value to either the minimum or maximum value of the slider, depending on if the slider is inverted or not.
      Parameters:
      xPos - the location of the slider along the x axis
      Returns:
      the value of the x position