PlasticSpinnerUI (JGoodies Looks 2.6 API)
Date: 2015-01-03

com.jgoodies.looks.plastic

## Class PlasticSpinnerUI

- java.lang.Object
- - javax.swing.plaf.ComponentUI
  - - javax.swing.plaf.SpinnerUI
    - - javax.swing.plaf.basic.BasicSpinnerUI
      - - com.jgoodies.looks.plastic.PlasticSpinnerUI

- Direct Known Subclasses:
    PlasticXPSpinnerUI

      public class PlasticSpinnerUI
      extends BasicSpinnerUI

  The JGoodies Plastic Look&Feel implementation of `SpinnerUI`. Configures the default editor to adjust font baselines and component bounds. Also, changes the border of the buttons and the size of the arrows.
  Version:
    $Revision: 1.13 $
  Author:
    Karsten Lentzsch

- - ### Field Summary

    - ### Fields inherited from class javax.swing.plaf.basic.BasicSpinnerUI

      `spinner`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PlasticSpinnerUI()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected Component` | `createArrowButton(int direction)`
    `protected JComponent` | `createEditor()` This method is called by installUI to get the editor component of the `JSpinner`.
    `protected LayoutManager` | `createLayout()` Create a `LayoutManager` that manages the `editor`, `nextButton`, and `previousButton` children of the JSpinner.
    `static ComponentUI` | `createUI(JComponent b)`
    `protected void` | `replaceEditor(JComponent oldEditor, JComponent newEditor)` Called by the `PropertyChangeListener` when the `JSpinner` editor property changes.

    - ### Methods inherited from class javax.swing.plaf.basic.BasicSpinnerUI

      `createNextButton, createPreviousButton, createPropertyChangeListener, getBaseline, getBaselineResizeBehavior, installDefaults, installKeyboardActions, installListeners, installNextButtonListeners, installPreviousButtonListeners, installUI, uninstallDefaults, uninstallListeners, uninstallUI`

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

      `contains, getAccessibleChild, getAccessibleChildrenCount, getMaximumSize, getMinimumSize, getPreferredSize, paint, update`

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

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

- - ### Constructor Detail

    - #### PlasticSpinnerUI

          public PlasticSpinnerUI()

  - ### Method Detail

    - #### createUI

          public static ComponentUI createUI(JComponent b)

    - #### createArrowButton

          protected Component createArrowButton(int direction)

    - #### createLayout

          protected LayoutManager createLayout()

      Create a `LayoutManager` that manages the `editor`, `nextButton`, and `previousButton` children of the JSpinner. These three children must be added with a constraint that identifies their role: "Editor", "Next", and "Previous". The default layout manager can handle the absence of any of these children.
      Overrides:
        `createLayout` in class `BasicSpinnerUI`
      Returns:
        a LayoutManager for the editor, next button, and previous button.
      See Also:
        `BasicSpinnerUI.createNextButton()`, `BasicSpinnerUI.createPreviousButton()`, `createEditor()`

    - #### createEditor

          protected JComponent createEditor()

      This method is called by installUI to get the editor component of the `JSpinner`. By default it just returns `JSpinner.getEditor()`. Subclasses can override `createEditor` to return a component that contains the spinner's editor or null, if they're going to handle adding the editor to the `JSpinner` in an `installUI` override.

      Typically this method would be overridden to wrap the editor with a container with a custom border, since one can't assume that the editors border can be set directly.

      The `replaceEditor` method is called when the spinners editor is changed with `JSpinner.setEditor`. If you've overriden this method, then you'll probably want to override `replaceEditor` as well.

      Overrides:
        `createEditor` in class `BasicSpinnerUI`
      Returns:
        the JSpinners editor JComponent, spinner.getEditor() by default
      See Also:
        `BasicSpinnerUI.installUI(javax.swing.JComponent)`, `replaceEditor(javax.swing.JComponent, javax.swing.JComponent)`, `JSpinner.getEditor()`

    - #### replaceEditor

          protected void replaceEditor(JComponent oldEditor,
                           JComponent newEditor)

      Called by the `PropertyChangeListener` when the `JSpinner` editor property changes. It's the responsibility of this method to remove the old editor and add the new one. By default this operation is just:

           spinner.remove(oldEditor);
           spinner.add(newEditor, "Editor");

      The implementation of `replaceEditor` should be coordinated with the `createEditor` method.
      Overrides:
        `replaceEditor` in class `BasicSpinnerUI`
      See Also:
        `createEditor()`, `BasicSpinnerUI.createPropertyChangeListener()`

Copyright © 2001-2014 JGoodies Software GmbH. All Rights Reserved.