|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.jgoodies.binding.adapter.SpinnerAdapterFactory
public final class SpinnerAdapterFactory
A factory that vends SpinnerModel implementations that are bound to
a ValueModel. Can be used to bind a ValueModel to instances of JSpinner.
To keep the ValueModel and SpinnerModel synchronized, this class listens to changes in both sides and updates the other silently, i.e. without firing a duplicate change event.
Constraints:
The ValueModel's type must be compatible with the type required by the
referenced SpinnerModel. For example a SpinnerNumberModel requires
Number values.
Example:
// General Connection
ValueModel levelModel = new PropertyAdapter(settings, "level", true);
SpinnerModel spinnerModel = new SpinnerNumberModel(9, 5, 10, 1);
Object defaultValue = new Integer(9);
SpinnerAdapterFactory.connect(spinnerModel, levelModel, defaultValue);
JSpinner levelSpinner = new JSpinner(spinnerModel);
// Short Form
ValueModel levelModel = new PropertyAdapter(settings, "level", true);
SpinnerNumberModel spinnerModel =
SpinnerAdapterFactory.createNumberAdapter(levelModel, 5, 10, 1);
JSpinner levelSpinner = new JSpinner(spinnerModel);
ValueModel,
SpinnerModel,
JSpinner| Method Summary | |
|---|---|
static void |
connect(javax.swing.SpinnerModel spinnerModel,
ValueModel valueModel,
java.lang.Object defaultValue)
Connects the given ValueModel and SpinnerModel by synchronizing their values. |
static javax.swing.SpinnerDateModel |
createDateAdapter(ValueModel valueModel,
java.util.Date defaultDate)
Creates and returns a SpinnerDateModel bound to the given
valueModel. |
static javax.swing.SpinnerDateModel |
createDateAdapter(ValueModel valueModel,
java.util.Date defaultDate,
java.lang.Comparable<java.util.Date> start,
java.lang.Comparable<java.util.Date> end,
int calendarField)
Creates and returns a SpinnerDateModel that represents a sequence
of dates and is bound to the given valueModel. |
static javax.swing.SpinnerNumberModel |
createNumberAdapter(ValueModel valueModel,
int defaultValue,
int minValue,
int maxValue,
int stepSize)
Creates and returns a SpinnerNumberModel that is connected to
the given ValueModel and that honors the specified minimum,
maximum and step values. |
static javax.swing.SpinnerNumberModel |
createNumberAdapter(ValueModel valueModel,
java.lang.Number defaultValue,
java.lang.Comparable<? extends java.lang.Number> minValue,
java.lang.Comparable<? extends java.lang.Number> maxValue,
java.lang.Number stepSize)
Creates and returns a SpinnerNumberModel that is connected to
the given ValueModel and that honors the specified minimum,
maximum and step values. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
|---|
public static javax.swing.SpinnerDateModel createDateAdapter(ValueModel valueModel,
java.util.Date defaultDate)
SpinnerDateModel bound to the given
valueModel. The calendarField
is equal to Calendar.DAY_OF_MONTH; there are no
start/end limits.
valueModel - a Date typed model that holds the spinner valuedefaultDate - the date used if the valueModel's value is null
SpinnerDateModel bound to the given
valueModel without start and end limits using
Calendar.DAY_OF_MONTH as calendar field
java.lang.NullPointerException - if the valueModel or defaultDate is null
public static javax.swing.SpinnerDateModel createDateAdapter(ValueModel valueModel,
java.util.Date defaultDate,
java.lang.Comparable<java.util.Date> start,
java.lang.Comparable<java.util.Date> end,
int calendarField)
SpinnerDateModel that represents a sequence
of dates and is bound to the given valueModel.
The dates are between start and end. The
nextValue and previousValue methods
compute elements of the sequence by advancing or reversing
the current date value by the
calendarField time unit. For a precise description
of what it means to increment or decrement a Calendar
field, see the add method in
java.util.Calendar.
The start and end parameters can be
null to indicate that the range doesn't have an
upper or lower bound. If value or
calendarField is null, or if both
start and end are specified and
minimum > maximum then an
IllegalArgumentException is thrown.
Similarly if (minimum <= value <= maximum) is false,
an IllegalArgumentException is thrown.
This method has not been tested.
valueModel - a Date typed model that holds the spinner valuedefaultDate - the date used if the valueModel's value is nullstart - the first date in the sequence or nullend - the last date in the sequence or nullcalendarField - one of
Calendar.ERA
Calendar.YEAR
Calendar.MONTH
Calendar.WEEK_OF_YEAR
Calendar.WEEK_OF_MONTH
Calendar.DAY_OF_MONTH
Calendar.DAY_OF_YEAR
Calendar.DAY_OF_WEEK
Calendar.DAY_OF_WEEK_IN_MONTH
Calendar.AM_PM
Calendar.HOUR
Calendar.HOUR_OF_DAY
Calendar.MINUTE
Calendar.SECOND
Calendar.MILLISECOND
SpinnerDateModel bound to the given
valueModel using the specified start and end dates
and calendar field.
java.lang.NullPointerException - if the valueModel or defaultDate is null
java.lang.IllegalArgumentException - if calendarField isn't valid,
or if the following expression is
false: (start <= value <= end).Calendar,
Date
public static javax.swing.SpinnerNumberModel createNumberAdapter(ValueModel valueModel,
int defaultValue,
int minValue,
int maxValue,
int stepSize)
SpinnerNumberModel that is connected to
the given ValueModel and that honors the specified minimum,
maximum and step values.
valueModel - an Integer typed model that holds the spinner valuedefaultValue - the number used if the valueModel's value is nullminValue - the lower bound of the spinner numbermaxValue - the upper bound of the spinner numberstepSize - used to increment and decrement the current value
SpinnerNumberModel that is connected to the given
ValueModel
java.lang.NullPointerException - if the valueModel is null
public static javax.swing.SpinnerNumberModel createNumberAdapter(ValueModel valueModel,
java.lang.Number defaultValue,
java.lang.Comparable<? extends java.lang.Number> minValue,
java.lang.Comparable<? extends java.lang.Number> maxValue,
java.lang.Number stepSize)
SpinnerNumberModel that is connected to
the given ValueModel and that honors the specified minimum,
maximum and step values.
valueModel - a Number typed model that holds the spinner valuedefaultValue - the number used if the valueModel's value is nullminValue - the lower bound of the spinner numbermaxValue - the upper bound of the spinner numberstepSize - used to increment and decrement the current value
SpinnerNumberModel that is connected to the given
ValueModel
java.lang.NullPointerException - if the valueModel or defaultValue is null
public static void connect(javax.swing.SpinnerModel spinnerModel,
ValueModel valueModel,
java.lang.Object defaultValue)
spinnerModel - the underlying SpinnerModel implementationvalueModel - provides a valuedefaultValue - the value used if the valueModel's value is null
java.lang.NullPointerException - if the spinnerModel, valueModel or defaultValue is null
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||