| java.lang.Object javax.swing.AbstractListModel com.jgoodies.binding.adapter.ComboBoxAdapter
ComboBoxAdapter | final public class ComboBoxAdapter extends AbstractListModel implements ComboBoxModel(Code) | | 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);
author: Karsten Lentzsch version: $Revision: 1.11 $ See Also: javax.swing.JComboBox< Parameters: E - > the type of the combo box items |
Constructor Summary | |
public | ComboBoxAdapter(List<E> items, ValueModel selectionHolder) Constructs a ComboBoxAdapter for the specified List of items
and the given selection holder. | public | ComboBoxAdapter(ListModel listModel, ValueModel selectionHolder) Constructs a ComboBoxAdapter for the given ListModel and selection
holder. | public | ComboBoxAdapter(E[] items, ValueModel selectionHolder) Constructs a ComboBoxAdapter for the specified List of items and the
given selection holder. | public | ComboBoxAdapter(SelectionInList<E> selectionInList) Constructs a ComboBoxAdapter for the given SelectionInList. |
Method Summary | |
public E | getElementAt(int index) Returns the value at the specified index. | public E | getSelectedItem() Returns the selected item by requesting the current value from the
either the selection holder or the SelectionInList's selection. | public int | getSize() Returns the length of the item list. | public void | setSelectedItem(Object object) Sets the selected item. |
ComboBoxAdapter | public ComboBoxAdapter(List<E> items, ValueModel selectionHolder)(Code) | | Constructs a ComboBoxAdapter for the specified List of items
and the given selection holder. Structural changes in the list
will be ignored.
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);
Parameters: items - the list of items Parameters: selectionHolder - holds the selection of the combo throws: NullPointerException - if the list of items or the selection holderis null |
ComboBoxAdapter | public ComboBoxAdapter(ListModel listModel, ValueModel selectionHolder)(Code) | | Constructs a ComboBoxAdapter for the given ListModel and selection
holder. Structural changes in the ListModel will be reflected by
this adapter, but won't affect the selection.
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);
Parameters: listModel - the initial list model Parameters: selectionHolder - holds the selection of the combo throws: NullPointerException - if the list of items or the selection holderis null |
ComboBoxAdapter | public ComboBoxAdapter(E[] items, ValueModel selectionHolder)(Code) | | Constructs a ComboBoxAdapter for the specified List of items and the
given selection holder. Structural changes in the list will be ignored.
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);
Parameters: items - the list of items Parameters: selectionHolder - holds the selection of the combo throws: NullPointerException - if the list of items or the selection holderis null |
ComboBoxAdapter | public ComboBoxAdapter(SelectionInList<E> selectionInList)(Code) | | Constructs a ComboBoxAdapter for the given SelectionInList. Note that
selections which are not elements of the list will be rejected.
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);
Parameters: selectionInList - provides the list and selection throws: NullPointerException - if the selectionInList isnull |
getElementAt | public E getElementAt(int index)(Code) | | Returns the value at the specified index.
Parameters: index - the requested index the value at index |
getSelectedItem | public E getSelectedItem()(Code) | | Returns the selected item by requesting the current value from the
either the selection holder or the SelectionInList's selection.
The selected item or null if there is no selection |
getSize | public int getSize()(Code) | | Returns the length of the item list.
the length of the list |
setSelectedItem | public void setSelectedItem(Object object)(Code) | | Sets the selected item. The implementation of this method should notify
all registered ListDataListener s that the contents has
changed.
Parameters: object - the list object to select or null to clearthe selection |
|
|