E - the type of the combo box itemspublic final class ComboBoxAdapter<E> extends AbstractListModel implements ComboBoxModel
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 FormlistenerList| Constructor and Description |
|---|
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.
|
| Modifier and Type | Method and Description |
|---|---|
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.
|
addListDataListener, fireContentsChanged, fireIntervalAdded, fireIntervalRemoved, getListDataListeners, getListeners, removeListDataListenerclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddListDataListener, removeListDataListenerpublic 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 comboNullPointerException - if the list of items or the selection holder
is nullpublic 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 comboNullPointerException - if the list of items or the selection holder
is nullpublic 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 comboNullPointerException - if the list of items or the selection holder
is nullpublic 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 selectionNullPointerException - if the selectionInList is
nullpublic E getSelectedItem()
getSelectedItem in interface ComboBoxModelnull if there is no selectionpublic void setSelectedItem(Object object)
ListDataListeners that the contents has
changed.setSelectedItem in interface ComboBoxModelobject - the list object to select or null to clear
the selectionpublic int getSize()
public E getElementAt(int index)
getElementAt in interface ListModelindex - the requested indexindexCopyright © 2002-2015 JGoodies Software GmbH. All Rights Reserved.