|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.jgoodies.binding.extras.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.
Note: This class is not yet part of the binary Binding library; it comes with the Binding distributions as an extra. The API is work in progress and may change without notice; this class may even be completely removed from future distributions. If you want to use this class, you may consider copying it into your codebase.
Example:
// General Connection ValueModel levelModel = new PropertyAdapter(settings, "level", true); SpinnerModel spinnerModel = new SpinnerNumberModel(9, 5, 10, 1); SpinnerAdapterFactory.connect(levelModel, spinnerModel); 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(com.jgoodies.binding.value.ValueModel valueModel,
javax.swing.SpinnerModel spinnerModel)
Connects the given ValueModel and SpinnerModel by synchronizing their
values. |
static javax.swing.SpinnerDateModel |
createDateAdapter(com.jgoodies.binding.value.ValueModel valueModel)
Creates and returns a SpinnerDateModel bound to the given
valueModel. |
static javax.swing.SpinnerDateModel |
createDateAdapter(com.jgoodies.binding.value.ValueModel valueModel,
java.lang.Comparable start,
java.lang.Comparable 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(com.jgoodies.binding.value.ValueModel valueModel,
int minValue,
int maxValue,
int step)
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(com.jgoodies.binding.value.ValueModel valueModel)
SpinnerDateModel bound to the given
valueModel. The calendarField is equal to
Calendar.DAY_OF_MONTH; there are no start/end
limits.
This method has not been tested.
valueModel - a Date typed model that holds the spinner value
SpinnerDateModel bound to the given valueModel
without start and end limits using Calendar.DAY_OF_MONTH as calendar
field
public static javax.swing.SpinnerDateModel createDateAdapter(com.jgoodies.binding.value.ValueModel valueModel,
java.lang.Comparable start,
java.lang.Comparable 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 mininum > 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 valuestart - 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.IllegalArgumentException - if the valueModel's initial value or calendarField
are null, if calendarField isn't valid, or if the
following expression is false: (start <= value <= end).Calendar,
Date
public static javax.swing.SpinnerNumberModel createNumberAdapter(com.jgoodies.binding.value.ValueModel valueModel,
int minValue,
int maxValue,
int step)
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 valueminValue - the lower bound of the spinner numbermaxValue - the upper bound of the spinner numberstep - used to increment and decrement the current value
SpinnerNumberModel that is connected to the given
ValueModel
public static void connect(com.jgoodies.binding.value.ValueModel valueModel,
javax.swing.SpinnerModel spinnerModel)
ValueModel and SpinnerModel by synchronizing their
values.
valueModel - provides a valuespinnerModel - the underlying SpinnerModel implementation
java.lang.NullPointerException - if the subject or spinnerModel is null
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||