|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.swing.AbstractListModel
com.jgoodies.binding.adapter.ComboBoxAdapter<E>
E
- the type of the combo box itemspublic final class ComboBoxAdapter<E>
A ComboBoxModel
implementation that holds the choice list and a
selection. This adapter has two modes that differ primarily in how
the selection is kept synchronized with the combo's list.
1) If you construct a ComboBoxAdapter with a SelectionInList
,
the selection will be guaranteed to be in the list, and the selection
will reflect changes in the list.
2) If you construct this adapter with a separate selection holder,
the selection won't be affected by any change in the combo's list.
In both cases, the combo's list of element will reflect changes in the list, if it's a ListModel and will ignore content changes, if it's a List.
Example:
String[] countries = new String[] { "USA", "Germany", "France", ... }; // Using an array and ValueModel ValueModel countryModel = new PropertyAdapter(customer, "country", true); ComboBoxAdapter adapter = new ComboBoxAdapter(countries, contryModel); JComboBox countryBox = new JComboBox(adapter); // Using a List and ValueModel List countryList = Arrays.asList(countries); ValueModel countryModel = new PropertyAdapter(customer, "country", true); ComboBoxAdapter adapter = new ComboBoxAdapter(countryList, contryModel); JComboBox countryBox = new JComboBox(adapter); // Using a ListModel and ValueModel ListModel countryListModel = new ArrayListModel(Arrays.asList(countries)); ValueModel countryModel = new PropertyAdapter(customer, "country", true); ComboBoxAdapter adapter = new ComboBoxAdapter(countryListModel, contryModel); JComboBox countryBox = new JComboBox(adapter); // Using a SelectionInList - allows only selection of contained elements ListModel countryListModel = new ArrayListModel(Arrays.asList(countries)); ValueModel countryModel = new PropertyAdapter(customer, "country", true); SelectionInList sil = new SelectionInList(countryListModel, countryModel); ComboBoxAdapter adapter = new ComboBoxAdapter(sil); JComboBox countryBox = new JComboBox(adapter); // Using ValueModels for the list holder and the selection holder class Country extends Model { ListModel getLocales(); Locale getDefaultLocale(); void setDefaultLocale(Locale locale); } BeanAdapter beanAdapter = new BeanAdapter(null, true); ValueModel localesHolder = beanAdapter.getValueModel("locales"); ValueModel defaultLocaleModel = beanAdapter.getValueModel("defaultLocale"); ComboBoxAdapter adapter = new ComboBoxAdapter( localesHolder, defaultLocaleModel); JComboBox localeBox = new JComboBox(adapter); beanAdapter.setBean(myCountry);
JComboBox
,
Serialized FormField Summary |
---|
Fields inherited from class javax.swing.AbstractListModel |
---|
listenerList |
Constructor Summary | |
---|---|
ComboBoxAdapter(E[] items,
ValueModel selectionHolder)
Constructs a ComboBoxAdapter for the specified List of items and the given selection holder. |
|
ComboBoxAdapter(List<E> items,
ValueModel selectionHolder)
Constructs a ComboBoxAdapter for the specified List of items and the given selection holder. |
|
ComboBoxAdapter(ListModel listModel,
ValueModel selectionHolder)
Constructs a ComboBoxAdapter for the given ListModel and selection holder. |
|
ComboBoxAdapter(SelectionInList<E> selectionInList)
Constructs a ComboBoxAdapter for the given SelectionInList. |
Method Summary | |
---|---|
E |
getElementAt(int index)
Returns the value at the specified index. |
E |
getSelectedItem()
Returns the selected item by requesting the current value from the either the selection holder or the SelectionInList's selection. |
int |
getSize()
Returns the length of the item list. |
void |
setSelectedItem(Object object)
Sets the selected item. |
Methods inherited from class javax.swing.AbstractListModel |
---|
addListDataListener, fireContentsChanged, fireIntervalAdded, fireIntervalRemoved, getListDataListeners, getListeners, removeListDataListener |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface javax.swing.ListModel |
---|
addListDataListener, removeListDataListener |
Constructor Detail |
---|
public ComboBoxAdapter(List<E> items, ValueModel selectionHolder)
Example:
String[] countries = new String[] { "USA", "Germany", "France", ... }; List countryList = Arrays.asList(countries); ValueModel countryModel = new PropertyAdapter(customer, "country", true); ComboBoxAdapter adapter = new ComboBoxAdapter(countryList, contryModel); JComboBox countryBox = new JComboBox(adapter);
items
- the list of itemsselectionHolder
- holds the selection of the combo
NullPointerException
- if the list of items or the selection holder
is null
public ComboBoxAdapter(ListModel listModel, ValueModel selectionHolder)
Example:
String[] countries = new String[] { "USA", "Germany", "France", ... }; ListModel countryList = new ArrayListModel(Arrays.asList(countries)); ValueModel countryModel = new PropertyAdapter(customer, "country", true); ComboBoxAdapter adapter = new ComboBoxAdapter(countryList, contryModel); JComboBox countryBox = new JComboBox(adapter);
listModel
- the initial list modelselectionHolder
- holds the selection of the combo
NullPointerException
- if the list of items or the selection holder
is null
public ComboBoxAdapter(E[] items, ValueModel selectionHolder)
Example:
String[] countries = new String[] { "USA", "Germany", "France", ... }; ValueModel countryModel = new PropertyAdapter(customer, "country", true); ComboBoxAdapter adapter = new ComboBoxAdapter(countries, contryModel); JComboBox countryBox = new JComboBox(adapter);
items
- the list of itemsselectionHolder
- holds the selection of the combo
NullPointerException
- if the list of items or the selection holder
is null
public ComboBoxAdapter(SelectionInList<E> selectionInList)
Example:
String[] countries = new String[] { "USA", "Germany", "France", ... }; List countryList = Arrays.asList(countries); ValueModel countryModel = new PropertyAdapter(customer, "country", true); SelectionInList sil = new SelectionInList(countryList, countryModel); ComboBoxAdapter adapter = new ComboBoxAdapter(sil); JComboBox countryBox = new JComboBox(adapter);
selectionInList
- provides the list and selection
NullPointerException
- if the selectionInList
is
null
Method Detail |
---|
public E getSelectedItem()
getSelectedItem
in interface ComboBoxModel
null
if there is no selectionpublic void setSelectedItem(Object object)
ListDataListener
s that the contents has
changed.
setSelectedItem
in interface ComboBoxModel
object
- the list object to select or null
to clear
the selectionpublic int getSize()
getSize
in interface ListModel
public E getElementAt(int index)
getElementAt
in interface ListModel
index
- the requested index
index
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |