com.jgoodies.looks.windows

## Class WindowsSpinnerUI

- java.lang.Object
- - javax.swing.plaf.ComponentUI
  - - javax.swing.plaf.SpinnerUI
    - - javax.swing.plaf.basic.BasicSpinnerUI
      - - com.sun.java.swing.plaf.windows.WindowsSpinnerUI
        - - com.jgoodies.looks.windows.WindowsSpinnerUI

-     public final class WindowsSpinnerUI
      extends com.sun.java.swing.plaf.windows.WindowsSpinnerUI

  The JGoodies Windows L&F implementation of `SpinnerUI`. Configures the default editor to adjust font baselines and component bounds, by setting an empty border with the default text insets.
  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
    `WindowsSpinnerUI()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.
    `protected Component` | `createNextButton()` Create a component that will replace the spinner models value with the object returned by `spinner.getNextValue`.
    `protected Component` | `createPreviousButton()` Create a component that will replace the spinner models value with the object returned by `spinner.getPreviousValue`.
    `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 com.sun.java.swing.plaf.windows.WindowsSpinnerUI

      `paint`

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

      `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, update`

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

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

- - ### Constructor Detail

    - #### WindowsSpinnerUI

          public WindowsSpinnerUI()

  - ### Method Detail

    - #### createUI

          public static ComponentUI createUI(JComponent b)

    - #### createPreviousButton

          protected Component createPreviousButton()

      Create a component that will replace the spinner models value with the object returned by `spinner.getPreviousValue`. By default the `previousButton` is a JButton who's `ActionListener` updates it's `JSpinner` ancestors model. If a previousButton isn't needed (in a subclass) then override this method to return null.
      Overrides:
        `createPreviousButton` in class `com.sun.java.swing.plaf.windows.WindowsSpinnerUI`
      Returns:
        a component that will replace the spinners model with the next value in the sequence, or null
      See Also:
        `BasicSpinnerUI.installUI(javax.swing.JComponent)`, `createNextButton()`

    - #### createNextButton

          protected Component createNextButton()

      Create a component that will replace the spinner models value with the object returned by `spinner.getNextValue`. By default the `nextButton` is a JButton who's `ActionListener` updates it's `JSpinner` ancestors model. If a nextButton isn't needed (in a subclass) then override this method to return null.
      Overrides:
        `createNextButton` in class `com.sun.java.swing.plaf.windows.WindowsSpinnerUI`
      Returns:
        a component that will replace the spinners model with the next value in the sequence, or null
      See Also:
        `BasicSpinnerUI.installUI(javax.swing.JComponent)`, `createPreviousButton()`

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

    - #### 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:
        `createNextButton()`, `createPreviousButton()`, `createEditor()`

    - #### 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.