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
Class SpinnerListModel

    java.lang.Object
      |
      +--javax.swing.AbstractSpinnerModel
            |
            +--javax.swing.SpinnerListModel

All Implemented Interfaces:
  Serializable, SpinnerModel

public class SpinnerListModel
extends AbstractSpinnerModel
implements Serializable

A simple implementation of `SpinnerModel` whose values are defined by an array or a `List`. For example to create a model defined by an array of the names of the days of the week:

     String[] days = new DateFormatSymbols().getWeekdays();
     SpinnerModel model = new SpinnerListModel(Arrays.asList(days).subList(1, 8));

This class only stores a reference to the array or `List` so if an element of the underlying sequence changes, it's up to the application to notify the `ChangeListeners` by calling `fireStateChanged`.

This model inherits a `ChangeListener`. The `ChangeListener`s are notified whenever the model's `value` or `list` properties changes.

Since:
  1.4
See Also:
  `JSpinner`, `SpinnerModel`, `AbstractSpinnerModel`, `SpinnerNumberModel`, `SpinnerDateModel`

Field Summary

Fields inherited from class javax.swing.AbstractSpinnerModel
`listenerList`

Constructor Summary
`SpinnerListModel()` Constructs an effectively empty `SpinnerListModel`.
`SpinnerListModel(List values)` Constructs a `SpinnerModel` whose sequence of values is defined by the specified `List`.
`SpinnerListModel(Object[] values)` Constructs a `SpinnerModel` whose sequence of values is defined by the specified array.

Method Summary
`List` | `getList()` Returns the `List` that defines the sequence for this model.
`Object` | `getNextValue()` Returns the next legal value of the underlying sequence or `null` if value is already the last element.
`Object` | `getPreviousValue()` Returns the previous element of the underlying sequence or `null` if value is already the first element.
`Object` | `getValue()` Returns the current element of the sequence.
`void` | `setList(List list)` Changes the list that defines this sequence and resets the index of the models `value` to zero.
`void` | `setValue(Object elt)` Changes the current element of the sequence and notifies `ChangeListeners`.

Methods inherited from class javax.swing.AbstractSpinnerModel
`addChangeListener, fireStateChanged, getChangeListeners, getListeners, removeChangeListener`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SpinnerListModel

    public SpinnerListModel(List values)

  Constructs a `SpinnerModel` whose sequence of values is defined by the specified `List`. The initial value (current element) of the model will be `values.get(0)`. If `values` is `null` or has zero size, an `IllegalArugmentException` is thrown.

Parameters:
  `values` - the sequence this model represents
Throws:
  `IllegalArugmentException` - if `values` is `null` or zero size

### SpinnerListModel

    public SpinnerListModel(Object[] values)

  Constructs a `SpinnerModel` whose sequence of values is defined by the specified array. The initial value of the model will be `values[0]`. If `values` is `null` or has zero length, an `IllegalArugmentException` is thrown.

Parameters:
  `values` - the sequence this model represents
Throws:
  `IllegalArugmentException` - if `values` is `null` or zero length

### SpinnerListModel

    public SpinnerListModel()

  Constructs an effectively empty `SpinnerListModel`. The model's list will contain a single `"empty"` string element.

Method Detail

### getList

    public List getList()

  Returns the `List` that defines the sequence for this model.

  Returns:
    the value of the `list` property
  See Also:
    `setList(java.util.List)`

### setList

    public void setList(List list)

  Changes the list that defines this sequence and resets the index of the models `value` to zero. Note that `list` is not copied, the model just stores a reference to it.

  This method fires a `ChangeEvent` if `list` is not equal to the current list.

  Parameters:
    `list` - the sequence that this model represents
  Throws:
    `IllegalArgumentException` - if `list` is `null` or zero length
  See Also:
    `getList()`

### getValue

    public Object getValue()

  Returns the current element of the sequence.

  Specified by:
    `getValue` in interface `SpinnerModel`
  Returns:
    the `value` property
  See Also:
    `SpinnerModel.getValue()`, `setValue(java.lang.Object)`

### setValue

    public void setValue(Object elt)

  Changes the current element of the sequence and notifies `ChangeListeners`. If the specified value is not equal to an element of the underlying sequence then an `IllegalArgumentException` is thrown. In the following example the `setValue` call would cause an exception to be thrown:

       String[] values = {"one", "two", "free", "four"};
       SpinnerModel model = new SpinnerListModel(values);
       model.setValue("TWO");

  Specified by:
    `setValue` in interface `SpinnerModel`
  Parameters:
    `elt` - the sequence element that will be model's current value
  Throws:
    `IllegalArgumentException` - if the specified value isn't allowed
  See Also:
    `SpinnerModel.setValue(java.lang.Object)`, `getValue()`

### getNextValue

    public Object getNextValue()

  Returns the next legal value of the underlying sequence or `null` if value is already the last element.

  Specified by:
    `getNextValue` in interface `SpinnerModel`
  Returns:
    the next legal value of the underlying sequence or `null` if value is already the last element
  See Also:
    `SpinnerModel.getNextValue()`, `getPreviousValue()`

### getPreviousValue

    public Object getPreviousValue()

  Returns the previous element of the underlying sequence or `null` if value is already the first element.

  Specified by:
    `getPreviousValue` in interface `SpinnerModel`
  Returns:
    the previous element of the underlying sequence or `null` if value is already the first element
  See Also:
    `SpinnerModel.getPreviousValue()`, `getNextValue()`

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.