Class SynthSliderUI

All Implemented Interfaces:
PropertyChangeListener, EventListener, SynthConstants, SynthUI

public class SynthSliderUI extends BasicSliderUI implements PropertyChangeListener, SynthUI
Provides the Synth L&F UI delegate for JSlider.
Since:
1.7
  • Constructor Details

    • SynthSliderUI

      protected SynthSliderUI(JSlider c)
      Constructs a SynthSliderUI.
      Parameters:
      c - a slider
  • Method Details

    • createUI

      public static ComponentUI createUI(JComponent c)
      Creates a new UI object for the given component.
      Parameters:
      c - component to create UI object for
      Returns:
      the UI object
    • installDefaults

      protected void installDefaults(JSlider slider)
      Installs the defaults.
      Overrides:
      installDefaults in class BasicSliderUI
      Parameters:
      slider - a slider
    • uninstallDefaults

      protected void uninstallDefaults(JSlider slider)
      Uninstalls default setting. This method is called when a LookAndFeel is uninstalled.
      Overrides:
      uninstallDefaults in class BasicSliderUI
      Parameters:
      slider - a slider
    • installListeners

      protected void installListeners(JSlider slider)
      Installs listeners.
      Overrides:
      installListeners in class BasicSliderUI
      Parameters:
      slider - a slider
    • uninstallListeners

      protected void uninstallListeners(JSlider slider)
      Uninstalls listeners.
      Overrides:
      uninstallListeners in class BasicSliderUI
      Parameters:
      slider - a slider
    • createTrackListener

      protected BasicSliderUI.TrackListener createTrackListener(JSlider s)
      Creates a track listener.
      Overrides:
      createTrackListener in class BasicSliderUI
      Parameters:
      s - a slider
      Returns:
      a track listener
    • getBaseline

      public int getBaseline(JComponent c, int width, int height)
      Returns the baseline.
      Overrides:
      getBaseline in class BasicSliderUI
      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
      See Also:
    • getPreferredSize

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

      public Dimension getMinimumSize(JComponent c)
      Returns the minimum size.
      Overrides:
      getMinimumSize in class BasicSliderUI
      Parameters:
      c - a component
      Returns:
      the minimum size
      See Also:
    • calculateGeometry

      protected void calculateGeometry()
      Calculates the geometry.
      Overrides:
      calculateGeometry in class BasicSliderUI
    • layout

      protected void layout()
      Lays out the slider.
    • calculateThumbLocation

      protected void calculateThumbLocation()
      Calculates the thumb location.
      Overrides:
      calculateThumbLocation in class BasicSliderUI
    • setThumbLocation

      public void setThumbLocation(int x, int y)
      Sets the thumb location.
      Overrides:
      setThumbLocation in class BasicSliderUI
      Parameters:
      x - the x coordinate
      y - the y coordinate
    • xPositionForValue

      protected int xPositionForValue(int value)
      Returns the x position for a value.
      Overrides:
      xPositionForValue in class BasicSliderUI
      Parameters:
      value - the value
      Returns:
      the x position for a value
    • yPositionForValue

      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.
      Overrides:
      yPositionForValue in class BasicSliderUI
      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
    • valueForYPosition

      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.
      Overrides:
      valueForYPosition in class BasicSliderUI
      Parameters:
      yPos - the location of the slider along the y axis
      Returns:
      the value at the y position
    • valueForXPosition

      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.
      Overrides:
      valueForXPosition in class BasicSliderUI
      Parameters:
      xPos - the location of the slider along the x axis
      Returns:
      the value of the x position
    • getThumbSize

      protected Dimension getThumbSize()
      Returns the thumb size.
      Overrides:
      getThumbSize in class BasicSliderUI
      Returns:
      the thumb size
    • recalculateIfInsetsChanged

      protected void recalculateIfInsetsChanged()
      Recalculates if the insets have changed.
      Overrides:
      recalculateIfInsetsChanged in class BasicSliderUI
    • getContext

      public SynthContext getContext(JComponent c)
      Returns the Context for the specified component.
      Specified by:
      getContext in interface SynthUI
      Parameters:
      c - Component requesting SynthContext.
      Returns:
      SynthContext describing component.
    • update

      public void update(Graphics g, JComponent c)
      Notifies this UI delegate to repaint the specified component. This method paints the component background, then calls the paint(SynthContext,Graphics) method.

      In general, this method does not need to be overridden by subclasses. All Look and Feel rendering code should reside in the paint method.

      Overrides:
      update in class ComponentUI
      Parameters:
      g - the Graphics object used for painting
      c - the component being painted
      See Also:
    • paint

      public void paint(Graphics g, JComponent c)
      Paints the specified component according to the Look and Feel.

      This method is not used by Synth Look and Feel. Painting is handled by the paint(SynthContext,Graphics) method.

      Overrides:
      paint in class BasicSliderUI
      Parameters:
      g - the Graphics object used for painting
      c - the component being painted
      See Also:
    • paint

      protected void paint(SynthContext context, Graphics g)
      Paints the specified component.
      Parameters:
      context - context for the component being painted
      g - the Graphics object used for painting
      See Also:
    • paintBorder

      public void paintBorder(SynthContext context, Graphics g, int x, int y, int w, int h)
      Paints the border.
      Specified by:
      paintBorder in interface SynthUI
      Parameters:
      context - a component context
      g - Graphics to paint on
      x - the X coordinate
      y - the Y coordinate
      w - width of the border
      h - height of the border
    • paintThumb

      protected void paintThumb(SynthContext context, Graphics g, Rectangle thumbBounds)
      Paints the slider thumb.
      Parameters:
      context - context for the component being painted
      g - Graphics object used for painting
      thumbBounds - bounding box for the thumb
    • paintTrack

      protected void paintTrack(SynthContext context, Graphics g, Rectangle trackBounds)
      Paints the slider track.
      Parameters:
      context - context for the component being painted
      g - Graphics object used for painting
      trackBounds - bounding box for the track
    • propertyChange

      public void propertyChange(PropertyChangeEvent e)
      This method gets called when a bound property is changed.
      Specified by:
      propertyChange in interface PropertyChangeListener
      Parameters:
      e - A PropertyChangeEvent object describing the event source and the property that has changed.