Module java.desktop

Class BasicSliderUI

    • Field Detail

      • POSITIVE_SCROLL

        public static final int POSITIVE_SCROLL
        Positive scroll
        See Also:
        Constant Field Values
      • NEGATIVE_SCROLL

        public static final int NEGATIVE_SCROLL
        Negative scroll
        See Also:
        Constant Field Values
      • scrollTimer

        protected Timer scrollTimer
        Scroll timer
      • slider

        protected JSlider slider
        Slider
      • focusInsets

        protected Insets focusInsets
        Focus insets
      • insetCache

        protected Insets insetCache
        Inset cache
      • leftToRightCache

        protected boolean leftToRightCache
        Left-to-right cache
      • focusRect

        protected Rectangle focusRect
        Focus rectangle
      • contentRect

        protected Rectangle contentRect
        Content rectangle
      • labelRect

        protected Rectangle labelRect
        Label rectangle
      • tickRect

        protected Rectangle tickRect
        Tick rectangle
      • trackRect

        protected Rectangle trackRect
        Track rectangle
      • thumbRect

        protected Rectangle thumbRect
        Thumb rectangle
      • trackBuffer

        protected int trackBuffer
        The distance that the track is from the side of the control
      • changeListener

        protected ChangeListener changeListener
        Change listener
      • componentListener

        protected ComponentListener componentListener
        Component listener
      • focusListener

        protected FocusListener focusListener
        Focus listener
    • Constructor Detail

      • BasicSliderUI

        public BasicSliderUI​(JSlider b)
        Constructs a BasicSliderUI.
        Parameters:
        b - a slider
    • Method Detail

      • getShadowColor

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

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

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

        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

        public static ComponentUI createUI​(JComponent b)
        Creates a UI.
        Parameters:
        b - a component
        Returns:
        a UI
      • installDefaults

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

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

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

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

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

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

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

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

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

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

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

        protected void uninstallKeyboardActions​(JSlider slider)
        Uninstalls keyboard actions.
        Parameters:
        slider - a slider
      • labelsHaveSameBaselines

        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

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

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

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

        public Dimension getMinimumVerticalSize​()
        Returns the minimum vertical size.
        Returns:
        the minimum vertical size
      • calculateGeometry

        protected void calculateGeometry​()
        Calculates the geometry.
      • calculateFocusRect

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

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

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

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

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

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

        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

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

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

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

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

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

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

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

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

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

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

        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

        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

        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:
        JSlider.setLabelTable(java.util.Dictionary)
      • getHighestValueLabel

        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:
        JSlider.setLabelTable(java.util.Dictionary)
      • paint

        public void paint​(Graphics g,
                          JComponent c)
        Description copied from class: ComponentUI
        Paints the specified component appropriately for the look and feel. This method is invoked from the ComponentUI.update method when the specified component is being painted. Subclasses should override this method and use the specified Graphics object to render the content of the component.
        Overrides:
        paint in class ComponentUI
        Parameters:
        g - the Graphics context in which to paint
        c - the component being painted; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components
        See Also:
        ComponentUI.update(java.awt.Graphics, javax.swing.JComponent)
      • recalculateIfInsetsChanged

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

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

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

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

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

        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

        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

        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

        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

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

        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:
        JSlider.setLabelTable(java.util.Dictionary)
      • paintVerticalLabel

        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:
        JSlider.setLabelTable(java.util.Dictionary)
      • paintThumb

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

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

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

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

        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

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

        protected int yPositionForValue​(int value)
        Returns the y position for a value.
        Parameters:
        value - the value
        Returns:
        the y 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.
        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

        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

        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