Class PlasticSpinnerUI

  • Direct Known Subclasses:
    PlasticXPSpinnerUI

    public class PlasticSpinnerUI
    extends javax.swing.plaf.basic.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 $
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      private static class  PlasticSpinnerUI.SpinnerArrowButton
      It differs from its superclass in that it uses the same formula as JDK to calculate the arrow height.
    • Field Summary

      • Fields inherited from class javax.swing.plaf.basic.BasicSpinnerUI

        spinner
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private static void configureEditorBorder​(javax.swing.JComponent editor)
      Sets an empty border with the default text insets.
      protected java.awt.Component createArrowButton​(int direction)  
      protected javax.swing.JComponent createEditor()
      This method is called by installUI to get the editor component of the JSpinner.
      protected java.awt.LayoutManager createLayout()
      Create a LayoutManager that manages the editor, nextButton, and previousButton children of the JSpinner.
      static javax.swing.plaf.ComponentUI createUI​(javax.swing.JComponent b)  
      protected void replaceEditor​(javax.swing.JComponent oldEditor, javax.swing.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 javax.swing.plaf.ComponentUI createUI​(javax.swing.JComponent b)
      • createArrowButton

        protected java.awt.Component createArrowButton​(int direction)
      • createLayout

        protected java.awt.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 javax.swing.plaf.basic.BasicSpinnerUI
        Returns:
        a LayoutManager for the editor, next button, and previous button.
        See Also:
        BasicSpinnerUI.createNextButton(), BasicSpinnerUI.createPreviousButton(), createEditor()
      • createEditor

        protected javax.swing.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 javax.swing.plaf.basic.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​(javax.swing.JComponent oldEditor,
                                     javax.swing.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 javax.swing.plaf.basic.BasicSpinnerUI
        See Also:
        createEditor(), BasicSpinnerUI.createPropertyChangeListener()
      • configureEditorBorder

        private static void configureEditorBorder​(javax.swing.JComponent editor)
        Sets an empty border with the default text insets.