Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.swing
Interface SpinnerModel

All Known Implementing Classes:
  AbstractSpinnerModel

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 neccessarily 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 preceeding element or null if `value` is the first element of the sequence.

When the 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
`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

    public 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

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

  Throws:
    `IllegalArgumentException` - if `value` isn't allowed
  See Also:
    `getValue()`

### getNextValue

    public 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

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

### addChangeListener

    public void addChangeListener(ChangeListener l)

  Adds a `ChangeListener` to the model's listener list. The `ChangeListeners` must be notified when models `value` changes.

  Parameters:
    `l` - the ChangeListener to add
  See Also:
    `removeChangeListener(javax.swing.event.ChangeListener)`

### removeChangeListener

    public void removeChangeListener(ChangeListener l)

  Removes a `ChangeListener` from the model's listener list.

  Parameters:
    `l` - the ChangeListener to remove
  See Also:
    `addChangeListener(javax.swing.event.ChangeListener)`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.