TopBlend: Here is the first difference. There are 8 differences. is old. is new.

javax.swing.plaf.basic
Class BasicSliderUI


java.lang.Object
  extended by javax.swing.plaf.ComponentUI
      extended by javax.swing.plaf.SliderUI
          extended by javax.swing.plaf.basic.BasicSliderUI
Direct Known Subclasses:
MetalSliderUI

public class BasicSliderUI
extends SliderUI

A Basic L&F implementation of SliderUI.


Nested Class Summary
 class BasicSliderUI.ActionScroller
          As of Java 2 platform v1.3 this undocumented class is no longer used.
 class BasicSliderUI.ChangeHandler
          Data model listener.
 class BasicSliderUI.ComponentHandler
          Listener for resizing events.
 class BasicSliderUI.FocusHandler
          Focus-change listener.
 class BasicSliderUI.PropertyChangeHandler
           
 class BasicSliderUI.ScrollListener
          Scroll-event listener.
 class BasicSliderUI.TrackListener
          Track mouse movements.
 
Field Summary
protected   ChangeListener changeListener
           
protected   ComponentListener componentListener
           
protected   Rectangle contentRect
           
protected   Insets focusInsets
           
protected   FocusListener focusListener
           
protected   Rectangle focusRect
           
protected   Insets insetCache
           
protected   Rectangle labelRect
           
protected  boolean leftToRightCache
           
static int MAX_SCROLL
           
static int MIN_SCROLL
           
static int NEGATIVE_SCROLL
           
static int POSITIVE_SCROLL
           
protected   PropertyChangeListener propertyChangeListener
           
protected   BasicSliderUI.ScrollListener scrollListener
           
protected   Timer scrollTimer
           
protected   JSlider slider
           
protected   Rectangle thumbRect
           
protected   Rectangle tickRect
           
protected  int trackBuffer
           
protected   BasicSliderUI.TrackListener trackListener
           
protected   Rectangle trackRect
           
 
Constructor Summary
BasicSliderUI ( JSlider  b)
           
 
Method Summary
protected  void calculateContentRect ()
           
protected  void calculateFocusRect ()
           
protected  void calculateGeometry ()
           
protected  void calculateLabelRect ()
           
protected  void calculateThumbLocation ()
           
protected  void calculateThumbSize ()
           
protected  void calculateTickRect ()
           
protected  void calculateTrackBuffer ()
           
protected  void calculateTrackRect ()
           
protected   ChangeListener createChangeListener ( JSlider  slider)
           
protected   ComponentListener createComponentListener ( JSlider  slider)
           
protected   FocusListener createFocusListener ( JSlider  slider)
           
protected   PropertyChangeListener createPropertyChangeListener ( JSlider  slider)
           
protected   BasicSliderUI.ScrollListener createScrollListener ( JSlider  slider)
           
protected   BasicSliderUI.TrackListener createTrackListener ( JSlider  slider)
           
static  ComponentUI createUI ( JComponent  b)
           
protected  boolean drawInverted ()
           
 int getBaseline ( JComponent
          Returns the baseline.
  Component.BaselineResizeBehavior getBaselineResizeBehavior ( JComponent
          Returns an enum indicating how the baseline of the component changes as the size changes.
protected   Color getFocusColor ()
           
protected  int getHeightOfHighValueLabel ()
           
protected  int getHeightOfLowValueLabel ()
           
protected  int getHeightOfTallestLabel ()
           
protected   Integer getHighestValue ()
          Returns the biggest value that has an entry in the label table.
protected   Component getHighestValueLabel ()
          Returns the label that corresponds to the lowest slider value in the label table.
protected   Color getHighlightColor ()
           
protected   Integer getLowestValue ()
          Returns the smallest value that has an entry in the label table.
protected   Component getLowestValueLabel ()
          Returns the label that corresponds to the highest slider value in the label table.
  Dimension getMaximumSize ( JComponent  c)
          Returns the specified component's maximum size appropriate for the look and feel.
  Dimension getMinimumHorizontalSize ()
           
  Dimension getMinimumSize ( JComponent  c)
          Returns the specified component's minimum size appropriate for the look and feel.
  Dimension getMinimumVerticalSize ()
           
  Dimension getPreferredHorizontalSize ()
           
  Dimension getPreferredSize ( JComponent  c)
          Returns the specified component's preferred size appropriate for the look and feel.
  Dimension getPreferredVerticalSize ()
           
protected   Color getShadowColor ()
           
protected   Dimension getThumbSize ()
           
protected  int getTickLength ()
          Gets the height of the tick area for horizontal sliders and the width of the tick area for vertical sliders.
protected  int getWidthOfHighValueLabel ()
           
protected  int getWidthOfLowValueLabel ()
           
protected  int getWidthOfWidestLabel ()
           
protected  void installDefaults ( JSlider  slider)
           
protected  void installKeyboardActions ( JSlider  slider)
           
protected  void installListeners ( JSlider  slider)
           
 void installUI ( JComponent  c)
          Configures the specified component appropriate for the look and feel.
protected  boolean isDragging ()
          Returns true if the user is dragging the slider.
protected  boolean labelsHaveSameBaselines ()
          Returns true if all the labels from the label table have the same baseline.
 void paint ( Graphics  g, JComponent  c)
          Paints the specified component appropriate for the look and feel.
 void paintFocus ( Graphics  g)
           
protected  void paintHorizontalLabel ( Graphics  g, int value, Component  label)
          Called for every label in the label table.
 void paintLabels ( Graphics  g)
           
protected  void paintMajorTickForHorizSlider ( Graphics  g, Rectangle  tickBounds, int x)
           
protected  void paintMajorTickForVertSlider ( Graphics  g, Rectangle  tickBounds, int y)
           
protected  void paintMinorTickForHorizSlider ( Graphics  g, Rectangle  tickBounds, int x)
           
protected  void paintMinorTickForVertSlider ( Graphics  g, Rectangle  tickBounds, int y)
           
 void paintThumb ( Graphics  g)
           
 void paintTicks ( Graphics  g)
           
 void paintTrack ( Graphics  g)
           
protected  void paintVerticalLabel ( Graphics  g, int value, Component  label)
          Called for every label in the label table.
protected  void recalculateIfInsetsChanged ()
           
protected  void recalculateIfOrientationChanged ()
           
 void scrollByBlock (int direction)
           
 void scrollByUnit (int direction)
           
protected  void scrollDueToClickInTrack (int dir)
          This function is called when a mousePressed was detected in the track, not in the thumb.
 void setThumbLocation (int x, int y)
           
protected  void uninstallKeyboardActions ( JSlider  slider)
           
protected  void uninstallListeners ( JSlider  slider)
           
 void uninstallUI ( JComponent  c)
          Reverses configuration which was done on the specified component during installUI.
 int valueForXPosition (int xPos)
          Returns a value give an x position.
 int valueForYPosition (int yPos)
          Returns a value give a y position.
protected  int xPositionForValue (int value)
           
protected  int yPositionForValue (int value)
           
protected  int yPositionForValue (int value, int trackY, int trackHeight)
          Returns the y location for the specified value.
 
Methods inherited from class javax.swing.plaf. ComponentUI
contains , getAccessibleChild , getAccessibleChildrenCount , update
 
Methods inherited from class java.lang. Object
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

Field Detail

POSITIVE_SCROLL


public static final int POSITIVE_SCROLL
See Also:
Constant Field Values

NEGATIVE_SCROLL


public static final int NEGATIVE_SCROLL
See Also:
Constant Field Values

MIN_SCROLL


public static final int MIN_SCROLL
See Also:
Constant Field Values

MAX_SCROLL


public static final int MAX_SCROLL
See Also:
Constant Field Values

scrollTimer


protected Timer scrollTimer

slider


protected JSlider slider

focusInsets


protected Insets focusInsets

insetCache


protected Insets insetCache

leftToRightCache


protected boolean leftToRightCache

focusRect


protected Rectangle focusRect

contentRect


protected Rectangle contentRect

labelRect


protected Rectangle labelRect

tickRect


protected Rectangle tickRect

trackRect


protected Rectangle trackRect

thumbRect


protected Rectangle thumbRect

trackBuffer


protected int trackBuffer

trackListener


protected BasicSliderUI.TrackListener trackListener

changeListener


protected ChangeListener changeListener

componentListener


protected ComponentListener componentListener

focusListener


protected FocusListener focusListener

scrollListener


protected BasicSliderUI.ScrollListener scrollListener

propertyChangeListener


protected PropertyChangeListener propertyChangeListener
Constructor Detail

BasicSliderUI


public BasicSliderUI(JSlider b)
Method Detail

getShadowColor


protected Color getShadowColor()

getHighlightColor


protected Color getHighlightColor()

getFocusColor


protected Color getFocusColor()

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)

installUI


public void installUI(JComponent c)
Description copied from class: ComponentUI
Configures the specified component appropriate for the look and feel. This method is invoked when the ComponentUI instance is being installed as the UI delegate on the specified component. This method should completely configure the component for the look and feel, including the following:
  1. Install any default property values for color, fonts, borders, icons, opacity, etc. on the component. Whenever possible, property values initialized by the client program should not be overridden.
  2. Install a LayoutManager on the component if necessary.
  3. Create/add any required sub-components to the component.
  4. Create/install event listeners on the component.
  5. Create/install a PropertyChangeListener on the component in order to detect and respond to component property changes appropriately.
  6. Install keyboard UI (mnemonics, traversal, etc.) on the component.
  7. Initialize any appropriate instance data.

Overrides:
installUI in class ComponentUI
Parameters:
c - the component where this UI delegate is being installed
See Also:
ComponentUI.uninstallUI(javax.swing.JComponent) , JComponent.setUI(javax.swing.plaf.ComponentUI) , JComponent.updateUI()

uninstallUI


public void uninstallUI(JComponent c)
Description copied from class: ComponentUI
Reverses configuration which was done on the specified component during installUI. This method is invoked when this UIComponent instance is being removed as the UI delegate for the specified component. This method should undo the configuration performed in installUI, being careful to leave the JComponent instance in a clean state (no extraneous listeners, look-and-feel-specific property objects, etc.). This should include the following:
  1. Remove any UI-set borders from the component.
  2. Remove any UI-set layout managers on the component.
  3. Remove any UI-added sub-components from the component.
  4. Remove any UI-added event/property listeners from the component.
  5. Remove any UI-installed keyboard UI from the component.
  6. Nullify any allocated instance data objects to allow for GC.

Overrides:
uninstallUI in class ComponentUI
Parameters:
c - the component from which this UI delegate is being removed; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components
See Also:
ComponentUI.installUI(javax.swing.JComponent) , JComponent.updateUI()

installDefaults


protected void installDefaults(JSlider slider)

createTrackListener


protected BasicSliderUI.TrackListener createTrackListener(JSlider slider)

createChangeListener


protected ChangeListener createChangeListener(JSlider slider)

createComponentListener


protected ComponentListener createComponentListener(JSlider slider)

createFocusListener


protected FocusListener createFocusListener(JSlider slider)

createScrollListener


protected BasicSliderUI.ScrollListener createScrollListener(JSlider slider)

createPropertyChangeListener


protected PropertyChangeListener createPropertyChangeListener(JSlider slider)

installListeners


protected void installListeners(JSlider slider)

uninstallListeners


protected void uninstallListeners(JSlider slider)

installKeyboardActions


protected void installKeyboardActions(JSlider slider)

uninstallKeyboardActions


protected void uninstallKeyboardActions(JSlider slider)

getBaseline


 
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:
JComponent.getBaseline(int, int)

getBaselineResizeBehavior


 
public Component.BaselineResizeBehaviorgetBaselineResizeBehavior ( 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:
JComponent.getBaseline(int, int)

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()

getPreferredVerticalSize


public Dimension getPreferredVerticalSize()

getMinimumHorizontalSize


public Dimension getMinimumHorizontalSize()

getMinimumVerticalSize


public Dimension getMinimumVerticalSize()

getPreferredSize


public Dimension getPreferredSize(JComponent c)
Description copied from class: ComponentUI
Returns the specified component's preferred size appropriate for the look and feel. If null is returned, the preferred size will be calculated by the component's layout manager instead (this is the preferred approach for any component with a specific layout manager installed). The default implementation of this method returns null.

Overrides:
getPreferredSize in class ComponentUI
Parameters:
c - the component whose preferred size is being queried; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components
See Also:
JComponent.getPreferredSize() , LayoutManager.preferredLayoutSize(java.awt.Container)

getMinimumSize


public Dimension getMinimumSize(JComponent c)
Description copied from class: ComponentUI
Returns the specified component's minimum size appropriate for the look and feel. If null is returned, the minimum size will be calculated by the component's layout manager instead (this is the preferred approach for any component with a specific layout manager installed). The default implementation of this method invokes getPreferredSize and returns that value.

Overrides:
getMinimumSize in class ComponentUI
Parameters:
c - the component whose minimum size is being queried; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components
Returns:
a Dimension object or null
See Also:
JComponent.getMinimumSize() , LayoutManager.minimumLayoutSize(java.awt.Container) , ComponentUI.getPreferredSize(javax.swing.JComponent)

getMaximumSize


public Dimension getMaximumSize(JComponent c)
Description copied from class: ComponentUI
Returns the specified component's maximum size appropriate for the look and feel. If null is returned, the maximum size will be calculated by the component's layout manager instead (this is the preferred approach for any component with a specific layout manager installed). The default implementation of this method invokes getPreferredSize and returns that value.

Overrides:
getMaximumSize in class ComponentUI
Parameters:
c - the component whose maximum size is being queried; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components
Returns:
a Dimension object or null
See Also:
JComponent.getMaximumSize() , LayoutManager2.maximumLayoutSize(java.awt.Container)

calculateGeometry


protected void calculateGeometry()

calculateFocusRect


protected void calculateFocusRect()

calculateThumbSize


protected void calculateThumbSize()

calculateContentRect


protected void calculateContentRect()

calculateThumbLocation


protected void calculateThumbLocation()

calculateTrackBuffer


protected void calculateTrackBuffer()

calculateTrackRect


protected void calculateTrackRect()

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().


calculateTickRect


protected void calculateTickRect()

calculateLabelRect


protected void calculateLabelRect()

getThumbSize


protected Dimension getThumbSize()

getWidthOfWidestLabel


protected int getWidthOfWidestLabel()

getHeightOfTallestLabel


protected int getHeightOfTallestLabel()

getWidthOfHighValueLabel


protected int getWidthOfHighValueLabel()

getWidthOfLowValueLabel


protected int getWidthOfLowValueLabel()

getHeightOfHighValueLabel


protected int getHeightOfHighValueLabel()

getHeightOfLowValueLabel


protected int getHeightOfLowValueLabel()

drawInverted


protected boolean drawInverted()

getHighestValue


 
protected IntegergetHighestValue () 
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 IntegergetLowestValue () 
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.

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.

See Also:
JSlider.setLabelTable(java.util.Dictionary)

paint


public void paint(Graphics g,
                  JComponent c)
Description copied from class: ComponentUI
Paints the specified component appropriate 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()

recalculateIfOrientationChanged


protected void recalculateIfOrientationChanged()

paintFocus


public void paintFocus(Graphics g)

paintTrack


public void paintTrack(Graphics g)

paintTicks


public void paintTicks(Graphics g)

paintMinorTickForHorizSlider


protected void paintMinorTickForHorizSlider(Graphics g,
                                            Rectangle tickBounds,
                                            int x)

paintMajorTickForHorizSlider


protected void paintMajorTickForHorizSlider(Graphics g,
                                            Rectangle tickBounds,
                                            int x)

paintMinorTickForVertSlider


protected void paintMinorTickForVertSlider(Graphics g,
                                           Rectangle tickBounds,
                                           int y)

paintMajorTickForVertSlider


protected void paintMajorTickForVertSlider(Graphics g,
                                           Rectangle tickBounds,
                                           int y)

paintLabels


public void paintLabels(Graphics g)

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.

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.

See Also:
JSlider.setLabelTable(java.util.Dictionary)

paintThumb


public void paintThumb(Graphics g)

setThumbLocation


public void setThumbLocation(int x,
                             int y)

scrollByBlock


public void scrollByBlock(int direction)

scrollByUnit


public void scrollByUnit(int 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.


xPositionForValue


protected int xPositionForValue(int value)

yPositionForValue


protected int yPositionForValue(int 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
Since:
1.6

valueForYPosition


public int valueForYPosition(int yPos)
Returns a value give a y position. If yPos is past the track at the top or the bottom it will set the value to the min or max of the slider, depending if the slider is inverted or not.


valueForXPosition


public int valueForXPosition(int xPos)
Returns a value give an x position. If xPos is past the track at the left or the right it will set the value to the min or max of the slider, depending if the slider is inverted or not.