Package org.pushingpixels.substance.internal.ui

# Class SubstanceToggleButtonUI

java.lang.Object
javax.swing.plaf.ComponentUI
javax.swing.plaf.ButtonUI
javax.swing.plaf.basic.BasicButtonUI
javax.swing.plaf.basic.BasicToggleButtonUI
org.pushingpixels.substance.internal.ui.SubstanceToggleButtonUI

All Implemented Interfaces:
  `TransitionAwareUI`

public class SubstanceToggleButtonUI extends BasicToggleButtonUI implements TransitionAwareUI
UI for toggle buttons in Substance look and feel.

## Field Summary

Fields
Modifier and Type
Field
Description
`protected GlowingIcon`
`glowingIcon`
The matching glowing icon.
`protected PropertyChangeListener`
`substancePropertyListener`
Property change listener.
`protected ButtonVisualStateTracker`
`substanceVisualStateTracker`
Tracker for visual state transitions.
`protected JToggleButton`
`toggleButton`

### Fields inherited from class javax.swing.plaf.basic.BasicButtonUI

`defaultTextIconGap, defaultTextShiftOffset`

## Constructor Summary

Constructors
Constructor
Description
`SubstanceToggleButtonUI(JToggleButton toggleButton)`
Simple constructor.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`contains(JComponent c, int x, int y)`
`protected BasicButtonListener`
`createButtonListener(AbstractButton b)`
`static ComponentUI`
`createUI(JComponent comp)`
`Dimension`
`getPreferredSize(JComponent c)`
`StateTransitionTracker`
`getTransitionTracker()`
Returns the model for tracking the transitions.
`void`
`installDefaults(AbstractButton b)`
`protected void`
`installListeners(AbstractButton b)`
`boolean`
`isInside(MouseEvent me)`
Checks whether the mouse position of the specified event lies inside the area of the component designated for transition effects.
`void`
`paint(Graphics g, JComponent c)`
`protected void`
`paintButtonText(Graphics g, AbstractButton button, Rectangle textRect, String text)`
Paints the text.
`protected void`
`paintIcon(Graphics g, AbstractButton b, Rectangle iconRect)`
`protected void`
`trackGlowingIcon()`
Tracks possible usage of glowing icon.
`void`
`uninstallDefaults(AbstractButton b)`
`protected void`
`uninstallListeners(AbstractButton b)`
`void`
`update(Graphics g, JComponent c)`

### Methods inherited from class javax.swing.plaf.basic.BasicToggleButtonUI

`getPropertyPrefix, getTextShiftOffset`

### Methods inherited from class javax.swing.plaf.basic.BasicButtonUI

`clearTextShiftOffset, getBaseline, getBaselineResizeBehavior, getDefaultTextIconGap, getMaximumSize, getMinimumSize, installKeyboardActions, installUI, paintButtonPressed, paintFocus, paintIcon, paintText, paintText, setTextShiftOffset, uninstallKeyboardActions, uninstallUI`

### Methods inherited from class javax.swing.plaf.ComponentUI

`getAccessibleChild, getAccessibleChildrenCount`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### glowingIcon

protected GlowingIcon glowingIcon
The matching glowing icon. Is used only when `AnimationConfigurationManager.isAnimationAllowed(AnimationFacet, Component)` returns true on `AnimationFacet.ICON_GLOW`.

### substancePropertyListener

protected PropertyChangeListener substancePropertyListener
Property change listener. Listens on changes to the `SubstanceLookAndFeel.BUTTON_SHAPER_PROPERTY` property and `AbstractButton.MODEL_CHANGED_PROPERTY` property.

### substanceVisualStateTracker

protected ButtonVisualStateTracker substanceVisualStateTracker
Tracker for visual state transitions.

### toggleButton

protected JToggleButton toggleButton

## Constructor Details

### SubstanceToggleButtonUI

public SubstanceToggleButtonUI(JToggleButton toggleButton)
Simple constructor.

## Method Details

### createUI

public static ComponentUI createUI(JComponent comp)

### installDefaults

public void installDefaults(AbstractButton b)

Overrides:
  `installDefaults` in class `BasicButtonUI`

### uninstallDefaults

public void uninstallDefaults(AbstractButton b)

Overrides:
  `uninstallDefaults` in class `BasicButtonUI`

### createButtonListener

protected BasicButtonListener createButtonListener(AbstractButton b)

Overrides:
  `createButtonListener` in class `BasicButtonUI`

### installListeners

protected void installListeners(AbstractButton b)

Overrides:
  `installListeners` in class `BasicButtonUI`

### uninstallListeners

protected void uninstallListeners(AbstractButton b)

Overrides:
  `uninstallListeners` in class `BasicButtonUI`

### paint

public void paint(Graphics g, JComponent c)

Overrides:
  `paint` in class `BasicToggleButtonUI`

### getPreferredSize

public Dimension getPreferredSize(JComponent c)

Overrides:
  `getPreferredSize` in class `BasicButtonUI`

### contains

public boolean contains(JComponent c, int x, int y)

Overrides:
  `contains` in class `ComponentUI`

### paintIcon

protected void paintIcon(Graphics g, AbstractButton b, Rectangle iconRect)

Overrides:
  `paintIcon` in class `BasicToggleButtonUI`

### paintButtonText

protected void paintButtonText(Graphics g, AbstractButton button, Rectangle textRect, String text)
Paints the text.

Parameters:
  `g` - Graphic context
  `button` - Button
  `textRect` - Text rectangle
  `text` - Text to paint

### trackGlowingIcon

protected void trackGlowingIcon()
Tracks possible usage of glowing icon.

### update

public void update(Graphics g, JComponent c)

Overrides:
  `update` in class `ComponentUI`

### isInside

public boolean isInside(MouseEvent me)
Description copied from interface: `TransitionAwareUI`
Checks whether the mouse position of the specified event lies inside the area of the component designated for transition effects.

Specified by:
  `isInside` in interface `TransitionAwareUI`
Parameters:
  `me` - Mouse event.
Returns:
  `true` if the mouse position of the specified event lies inside the area of the component designated for transition effects, `false` otherwise.

### getTransitionTracker

public StateTransitionTracker getTransitionTracker()
Description copied from interface: `TransitionAwareUI`
Returns the model for tracking the transitions.

Specified by:
  `getTransitionTracker` in interface `TransitionAwareUI`
Returns:
  Model for tracking the transitions.