Module java.desktop
Package javax.swing

Interface SpinnerModel

  • All Known Implementing Classes:
    AbstractSpinnerModel, SpinnerDateModel, SpinnerListModel, SpinnerNumberModel

    public interface SpinnerModel
    A model for a potentially unbounded sequence of object values. This model is similar to ListModel however there are some important differences:
    • The number of sequence elements isn't necessarily bounded.
    • The model doesn't support indexed random access to sequence elements. Only three sequence values are accessible at a time: current, next and previous.
    • The current sequence element, can be set.

    A SpinnerModel has three properties, only the first is read/write.

    value
    The current element of the sequence.
    nextValue
    The following element or null if value is the last element of the sequence.
    previousValue
    The preceding element or null if value is the first element of the sequence.
    When the value property changes, ChangeListeners are notified. SpinnerModel may choose to notify the ChangeListeners under other circumstances.
    Since:
    1.4
    See Also:
    JSpinner, AbstractSpinnerModel, SpinnerListModel, SpinnerNumberModel, SpinnerDateModel
    • Method Summary

      Modifier and Type Method Description
      void addChangeListener​(ChangeListener l)
      Adds a ChangeListener to the model's listener list.
      Object getNextValue()
      Return the object in the sequence that comes after the object returned by getValue().
      Object getPreviousValue()
      Return the object in the sequence that comes before the object returned by getValue().
      Object getValue()
      The current element of the sequence.
      void removeChangeListener​(ChangeListener l)
      Removes a ChangeListener from the model's listener list.
      void setValue​(Object value)
      Changes current value of the model, typically this value is displayed by the editor part of a JSpinner.
    • Method Detail

      • getValue

        Object getValue()
        The current element of the sequence. This element is usually displayed by the editor part of a JSpinner.
        Returns:
        the current spinner value.
        See Also:
        setValue(java.lang.Object)
      • setValue

        void setValue​(Object value)
        Changes current value of the model, typically this value is displayed by the editor part of a JSpinner. If the SpinnerModel implementation doesn't support the specified value then an IllegalArgumentException is thrown. For example a SpinnerModel for numbers might only support values that are integer multiples of ten. In that case, model.setValue(new Number(11)) would throw an exception.
        Parameters:
        value - new value for the spinner
        Throws:
        IllegalArgumentException - if value isn't allowed
        See Also:
        getValue()
      • getNextValue

        Object getNextValue()
        Return the object in the sequence that comes after the object returned by getValue(). If the end of the sequence has been reached then return null. Calling this method does not effect value.
        Returns:
        the next legal value or null if one doesn't exist
        See Also:
        getValue(), getPreviousValue()
      • getPreviousValue

        Object getPreviousValue()
        Return the object in the sequence that comes before the object returned by getValue(). If the end of the sequence has been reached then return null. Calling this method does not effect value.
        Returns:
        the previous legal value or null if one doesn't exist
        See Also:
        getValue(), getNextValue()