- java.lang.Object
-
- javax.swing.plaf.ComponentUI
-
- javax.swing.plaf.SpinnerUI
-
- javax.swing.plaf.basic.BasicSpinnerUI
-
- javax.swing.plaf.synth.SynthSpinnerUI
-
- All Implemented Interfaces:
PropertyChangeListener,EventListener,SynthConstants,SynthUI
public class SynthSpinnerUI extends BasicSpinnerUI implements PropertyChangeListener, SynthUI
Provides the Synth L&F UI delegate forJSpinner.- Since:
- 1.7
-
-
Field Summary
-
Fields inherited from class javax.swing.plaf.basic.BasicSpinnerUI
spinner
-
Fields inherited from interface javax.swing.plaf.synth.SynthConstants
DEFAULT, DISABLED, ENABLED, FOCUSED, MOUSE_OVER, PRESSED, SELECTED
-
-
Constructor Summary
Constructors Constructor Description SynthSpinnerUI()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method 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. component that replaces the spinner value with the object returned byspinner.getNextValue.protected ComponentcreatePreviousButton()Creates a decrement button, i.e. component that replaces the spinner value with the object returned byspinner.getPreviousValue.static ComponentUIcreateUI(JComponent c)Returns a new instance of SynthSpinnerUI.SynthContextgetContext(JComponent c)Returns the Context for the specified component.protected voidinstallDefaults()Initializes theJSpinnerborder,foreground, andbackground, properties based on the corresponding "Spinner.*" properties from defaults table.protected voidinstallListeners()InitializesPropertyChangeListenerwith a shared object that delegates interesting PropertyChangeEvents to protected methods.voidpaint(Graphics g, JComponent c)Paints the specified component according to the Look and Feel.protected voidpaint(SynthContext context, Graphics g)Paints the specified component.voidpaintBorder(SynthContext context, Graphics g, int x, int y, int w, int h)Paints the border.voidpropertyChange(PropertyChangeEvent e)This method gets called when a bound property is changed.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.voidupdate(Graphics g, JComponent c)Notifies this UI delegate to repaint the specified component.-
Methods inherited from class javax.swing.plaf.basic.BasicSpinnerUI
createPropertyChangeListener, getBaseline, getBaselineResizeBehavior, installKeyboardActions, installNextButtonListeners, installPreviousButtonListeners, installUI, uninstallUI
-
Methods inherited from class javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, getMaximumSize, getMinimumSize, getPreferredSize
-
-
-
-
Method Detail
-
createUI
public static ComponentUI createUI(JComponent c)
Returns a new instance of SynthSpinnerUI.- Parameters:
c- the JSpinner (not used)- Returns:
- a new SynthSpinnerUI object
- See Also:
ComponentUI.createUI(javax.swing.JComponent)
-
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.- Overrides:
uninstallListenersin classBasicSpinnerUI- See Also:
BasicSpinnerUI.installListeners()
-
installDefaults
protected void installDefaults()
Initializes 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.- Overrides:
installDefaultsin classBasicSpinnerUI- See Also:
uninstallDefaults(),BasicSpinnerUI.installUI(javax.swing.JComponent),createLayout(),LookAndFeel.installBorder(javax.swing.JComponent, java.lang.String),LookAndFeel.installColors(javax.swing.JComponent, java.lang.String, java.lang.String)
-
uninstallDefaults
protected void uninstallDefaults()
Sets theJSpinner'slayout manager to null. This method is called byuninstallUI.- Overrides:
uninstallDefaultsin classBasicSpinnerUI- See Also:
installDefaults(),BasicSpinnerUI.uninstallUI(javax.swing.JComponent)
-
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.- Overrides:
createLayoutin classBasicSpinnerUI- Returns:
- a LayoutManager for the editor, next button, and previous button.
- See Also:
BasicSpinnerUI.createNextButton(),BasicSpinnerUI.createPreviousButton(),BasicSpinnerUI.createEditor()
-
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.- Overrides:
createPreviousButtonin classBasicSpinnerUI- Returns:
- a component that will replace the spinner's value with the
previous value in the sequence, or
null - See Also:
BasicSpinnerUI.installUI(javax.swing.JComponent),BasicSpinnerUI.createNextButton(),BasicSpinnerUI.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.- Overrides:
createNextButtonin classBasicSpinnerUI- Returns:
- a component that will replace the spinner's value with the
next value in the sequence, or
null - See Also:
BasicSpinnerUI.installUI(javax.swing.JComponent),BasicSpinnerUI.createPreviousButton(),BasicSpinnerUI.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.- Overrides:
createEditorin classBasicSpinnerUI- 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 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.- Overrides:
replaceEditorin classBasicSpinnerUI- Parameters:
oldEditor- an old instance of editornewEditor- a new instance of editor- See Also:
createEditor(),BasicSpinnerUI.createPropertyChangeListener()
-
getContext
public SynthContext getContext(JComponent c)
Returns the Context for the specified component.- Specified by:
getContextin interfaceSynthUI- Parameters:
c- Component requesting SynthContext.- Returns:
- SynthContext describing component.
-
update
public void update(Graphics g, JComponent c)
Notifies this UI delegate to repaint the specified component. This method paints the component background, then calls thepaint(SynthContext,Graphics)method.In general, this method does not need to be overridden by subclasses. All Look and Feel rendering code should reside in the
paintmethod.- Overrides:
updatein classComponentUI- Parameters:
g- theGraphicsobject used for paintingc- the component being painted- See Also:
paint(SynthContext,Graphics)
-
paint
public void paint(Graphics g, JComponent c)
Paints the specified component according to the Look and Feel.This method is not used by Synth Look and Feel. Painting is handled by the
paint(SynthContext,Graphics)method.- Overrides:
paintin classComponentUI- Parameters:
g- theGraphicsobject used for paintingc- the component being painted- See Also:
paint(SynthContext,Graphics)
-
paint
protected void paint(SynthContext context, Graphics g)
Paints the specified component. This implementation does nothing.- Parameters:
context- context for the component being paintedg- theGraphicsobject used for painting- See Also:
update(Graphics,JComponent)
-
paintBorder
public void paintBorder(SynthContext context, Graphics g, int x, int y, int w, int h)
Paints the border.- Specified by:
paintBorderin interfaceSynthUI- Parameters:
context- a component contextg-Graphicsto paint onx- the X coordinatey- the Y coordinatew- width of the borderh- height of the border
-
propertyChange
public void propertyChange(PropertyChangeEvent e)
This method gets called when a bound property is changed.- Specified by:
propertyChangein interfacePropertyChangeListener- Parameters:
e- A PropertyChangeEvent object describing the event source and the property that has changed.
-
-