- java.lang.Object
-
- javax.swing.plaf.ComponentUI
-
- javax.swing.plaf.SpinnerUI
-
- javax.swing.plaf.basic.BasicSpinnerUI
-
- Direct Known Subclasses:
- SynthSpinnerUI
public class BasicSpinnerUI extends SpinnerUI
The default Spinner UI delegate.- Since:
- 1.4
-
-
Field Summary
Fields Modifier and Type Field and Description protected JSpinnerspinnerThe spinner that we're a UI delegate for.
-
Constructor Summary
Constructors Constructor and Description BasicSpinnerUI()
-
Method Summary
Methods Modifier and Type Method and Description protected JComponentcreateEditor()This method is called by installUI to get the editor component of theJSpinner.protected LayoutManagercreateLayout()Creates aLayoutManagerthat manages theeditor,nextButton, andpreviousButtonchildren of the JSpinner.protected ComponentcreateNextButton()Creates an increment button, i.e.protected ComponentcreatePreviousButton()Creates a decrement button, i.e.protected PropertyChangeListenercreatePropertyChangeListener()Creates aPropertyChangeListenerthat can be added to the JSpinner itself.static ComponentUIcreateUI(JComponent c)Returns a new instance of BasicSpinnerUI.intgetBaseline(JComponent c, int width, int height)Returns the baseline.Component.BaselineResizeBehaviorgetBaselineResizeBehavior(JComponent c)Returns an enum indicating how the baseline of the component changes as the size changes.protected voidinstallDefaults()Initialize theJSpinnerborder,foreground, andbackground, properties based on the corresponding "Spinner.*" properties from defaults table.protected voidinstallKeyboardActions()Installs the keyboard Actions onto the JSpinner.protected voidinstallListeners()InitializesPropertyChangeListenerwith a shared object that delegates interesting PropertyChangeEvents to protected methods.protected voidinstallNextButtonListeners(Component c)Installs the necessary listeners on the next button,c, to update theJSpinnerin response to a user gesture.protected voidinstallPreviousButtonListeners(Component c)Installs the necessary listeners on the previous button,c, to update theJSpinnerin response to a user gesture.voidinstallUI(JComponent c)CallsinstallDefaults,installListeners, and then adds the components returned bycreateNextButton,createPreviousButton, andcreateEditor.protected voidreplaceEditor(JComponent oldEditor, JComponent newEditor)Called by thePropertyChangeListenerwhen theJSpinnereditor property changes.protected voiduninstallDefaults()Sets theJSpinner'slayout manager to null.protected voiduninstallListeners()Removes thePropertyChangeListeneradded by installListeners.voiduninstallUI(JComponent c)CallsuninstallDefaults,uninstallListeners, and then removes all of the spinners children.-
Methods inherited from class javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, getMaximumSize, getMinimumSize, getPreferredSize, paint, update
-
-
-
-
Field Detail
-
spinner
protected JSpinner spinner
The spinner that we're a UI delegate for. Initialized by theinstallUImethod, and reset to null byuninstallUI.
-
-
Method Detail
-
createUI
public static ComponentUI createUI(JComponent c)
Returns a new instance of BasicSpinnerUI. SpinnerListUI delegates are allocated one per JSpinner.- Parameters:
c- the JSpinner (not used)- Returns:
- a new BasicSpinnerUI object
- See Also:
ComponentUI.createUI(javax.swing.JComponent)
-
installUI
public void installUI(JComponent c)
CallsinstallDefaults,installListeners, and then adds the components returned bycreateNextButton,createPreviousButton, andcreateEditor.- Overrides:
installUIin classComponentUI- Parameters:
c- the JSpinner- See Also:
installDefaults(),installListeners(),createNextButton(),createPreviousButton(),createEditor()
-
uninstallUI
public void uninstallUI(JComponent c)
CallsuninstallDefaults,uninstallListeners, and then removes all of the spinners children.- Overrides:
uninstallUIin classComponentUI- Parameters:
c- the JSpinner (not used)- See Also:
ComponentUI.installUI(javax.swing.JComponent),JComponent.updateUI()
-
installListeners
protected void installListeners()
InitializesPropertyChangeListenerwith a shared object that delegates interesting PropertyChangeEvents to protected methods.This method is called by
installUI.
-
uninstallListeners
protected void uninstallListeners()
Removes thePropertyChangeListeneradded by installListeners.This method is called by
uninstallUI.- See Also:
installListeners()
-
installDefaults
protected void installDefaults()
Initialize theJSpinnerborder,foreground, andbackground, properties based on the corresponding "Spinner.*" properties from defaults table. TheJSpinnerslayout is set to the value returned bycreateLayout. This method is called byinstallUI.
-
uninstallDefaults
protected void uninstallDefaults()
Sets theJSpinner'slayout manager to null. This method is called byuninstallUI.
-
installNextButtonListeners
protected void installNextButtonListeners(Component c)
Installs the necessary listeners on the next button,c, to update theJSpinnerin response to a user gesture.- Parameters:
c- Component to install the listeners on- Throws:
NullPointerException- ifcis null.- Since:
- 1.5
- See Also:
createNextButton()
-
installPreviousButtonListeners
protected void installPreviousButtonListeners(Component c)
Installs the necessary listeners on the previous button,c, to update theJSpinnerin response to a user gesture.- Parameters:
c- Component to install the listeners on.- Throws:
NullPointerException- ifcis null.- Since:
- 1.5
- See Also:
createPreviousButton()
-
createLayout
protected LayoutManager createLayout()
Creates aLayoutManagerthat manages theeditor,nextButton, andpreviousButtonchildren 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.- Returns:
- a LayoutManager for the editor, next button, and previous button.
- See Also:
createNextButton(),createPreviousButton(),createEditor()
-
createPropertyChangeListener
protected PropertyChangeListener createPropertyChangeListener()
Creates aPropertyChangeListenerthat can be added to the JSpinner itself. Typically, this listener will call replaceEditor when the "editor" property changes, since it's theSpinnerUI'sresponsibility to add the editor to the JSpinner (and remove the old one). This method is called byinstallListeners.- Returns:
- A PropertyChangeListener for the JSpinner itself
- See Also:
installListeners()
-
createPreviousButton
protected Component createPreviousButton()
Creates a decrement button, i.e. component that replaces the spinner value with the object returned byspinner.getPreviousValue. By default thepreviousButtonis aJButton. If the decrement button is not needed this method should returnnull.- Returns:
- a component that will replace the spinner's value with the
previous value in the sequence, or
null - See Also:
installUI(javax.swing.JComponent),createNextButton(),installPreviousButtonListeners(java.awt.Component)
-
createNextButton
protected Component createNextButton()
Creates an increment button, i.e. component that replaces the spinner value with the object returned byspinner.getNextValue. By default thenextButtonis aJButton. If the increment button is not needed this method should returnnull.- Returns:
- a component that will replace the spinner's value with the
next value in the sequence, or
null - See Also:
installUI(javax.swing.JComponent),createPreviousButton(),installNextButtonListeners(java.awt.Component)
-
createEditor
protected JComponent createEditor()
This method is called by installUI to get the editor component of theJSpinner. By default it just returnsJSpinner.getEditor(). Subclasses can overridecreateEditorto return a component that contains the spinner's editor or null, if they're going to handle adding the editor to theJSpinnerin aninstallUIoverride.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
replaceEditormethod is called when the spinners editor is changed withJSpinner.setEditor. If you've overriden this method, then you'll probably want to overridereplaceEditoras well.- Returns:
- the JSpinners editor JComponent, spinner.getEditor() by default
- See Also:
installUI(javax.swing.JComponent),replaceEditor(javax.swing.JComponent, javax.swing.JComponent),JSpinner.getEditor()
-
replaceEditor
protected void replaceEditor(JComponent oldEditor, JComponent newEditor)
Called by thePropertyChangeListenerwhen theJSpinnereditor 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 ofreplaceEditorshould be coordinated with thecreateEditormethod.- See Also:
createEditor(),createPropertyChangeListener()
-
installKeyboardActions
protected void installKeyboardActions()
Installs the keyboard Actions onto the JSpinner.- Since:
- 1.5
-
getBaseline
public int getBaseline(JComponent c, int width, int height)
Returns the baseline.- Overrides:
getBaselinein classComponentUI- Parameters:
c-JComponentbaseline is being requested forwidth- the width to get the baseline forheight- the height to get the baseline for- Returns:
- baseline or a value < 0 indicating there is no reasonable baseline
- Throws:
NullPointerException- ifcisnullIllegalArgumentException- if width or height is < 0- Since:
- 1.6
- See Also:
JComponent.getBaseline(int, int)
-
getBaselineResizeBehavior
public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
Returns an enum indicating how the baseline of the component changes as the size changes.- Overrides:
getBaselineResizeBehaviorin classComponentUI- Parameters:
c-JComponentto return baseline resize behavior for- Returns:
- an enum indicating how the baseline changes as the component size changes
- Throws:
NullPointerException- ifcisnull- Since:
- 1.6
- See Also:
JComponent.getBaseline(int, int)
-
-
Nederlandse vertaling
U hebt gevraagd om deze site in het Nederlands te bezoeken. Voor nu wordt alleen de interface vertaald, maar nog niet alle inhoud.Als je me wilt helpen met vertalingen, is je bijdrage welkom. Het enige dat u hoeft te doen, is u op de site registreren en mij een bericht sturen waarin u wordt gevraagd om u toe te voegen aan de groep vertalers, zodat u de gewenste pagina's kunt vertalen. Een link onderaan elke vertaalde pagina geeft aan dat u de vertaler bent en heeft een link naar uw profiel.
Bij voorbaat dank.
Document heeft de 11/06/2005 gemaakt, de laatste keer de 04/03/2020 gewijzigd
Bron van het afgedrukte document:https://www.gaudry.be/nl/java-api-rf-javax/swing/plaf/basic/basicspinnerui.html
De infobrol is een persoonlijke site waarvan de inhoud uitsluitend mijn verantwoordelijkheid is. De tekst is beschikbaar onder CreativeCommons-licentie (BY-NC-SA). Meer info op de gebruiksvoorwaarden en de auteur.
Referenties
Deze verwijzingen en links verwijzen naar documenten die geraadpleegd zijn tijdens het schrijven van deze pagina, of die aanvullende informatie kunnen geven, maar de auteurs van deze bronnen kunnen niet verantwoordelijk worden gehouden voor de inhoud van deze pagina.
De auteur van deze site is als enige verantwoordelijk voor de manier waarop de verschillende concepten, en de vrijheden die met de referentiewerken worden genomen, hier worden gepresenteerd. Vergeet niet dat u meerdere broninformatie moet doorgeven om het risico op fouten te verkleinen.