org.jfree.report.modules.gui.swing.common

Class KeyedComboBoxModel

public class KeyedComboBoxModel extends Object implements ComboBoxModel

The KeyedComboBox model allows to define an internal key (the data element) for every entry in the model.

This class is usefull in all cases, where the public text differs from the internal view on the data. A separation between presentation data and processing data is a prequesite for localizing combobox entries. This model does not allow selected elements, which are not in the list of valid elements.

Author: Thomas Morgner

Constructor Summary
KeyedComboBoxModel()
Creates a new keyed combobox model.
KeyedComboBoxModel(Object[] keys, Object[] values)
Creates a new keyed combobox model for the given keys and values.
Method Summary
voidadd(Object key, Object cbitem)
Adds a new entry to the model.
voidaddListDataListener(ListDataListener l)
Adds a listener to the list that's notified each time a change to the data model occurs.
voidclear()
Removes all entries from the model.
intfindElementIndex(Object key)
Tries to find the index of element with the given key.
protected voidfireListDataEvent(ListDataEvent evt)
Notifies all registered list data listener of the given event.
ObjectgetElementAt(int index)
Returns the value at the specified index.
ObjectgetKeyAt(int index)
Returns the key from the given index.
ObjectgetSelectedItem()
Returns the selected item.
ObjectgetSelectedKey()
Returns the selected data element or null if none is set.
intgetSize()
Returns the length of the list.
voidremoveDataElement(Object key)
Removes an entry from the model.
voidremoveListDataListener(ListDataListener l)
Removes a listener from the list that's notified each time a change to the data model occurs.
voidsetAllowOtherValue(boolean allowOtherValue)
voidsetData(Object[] keys, Object[] values)
Replaces the data in this combobox model.
voidsetSelectedItem(Object anItem)
Set the selected item.
voidsetSelectedKey(Object anItem)
Defines the selected key.

Constructor Detail

KeyedComboBoxModel

public KeyedComboBoxModel()
Creates a new keyed combobox model.

KeyedComboBoxModel

public KeyedComboBoxModel(Object[] keys, Object[] values)
Creates a new keyed combobox model for the given keys and values. Keys and values must have the same number of items.

Parameters: keys the keys values the values

Method Detail

add

public void add(Object key, Object cbitem)
Adds a new entry to the model.

Parameters: key the key cbitem the display value.

addListDataListener

public void addListDataListener(ListDataListener l)
Adds a listener to the list that's notified each time a change to the data model occurs.

Parameters: l the ListDataListener to be added

clear

public void clear()
Removes all entries from the model.

findElementIndex

public int findElementIndex(Object key)
Tries to find the index of element with the given key. The key must not be null.

Parameters: key the key for the element to be searched.

Returns: the index of the key, or -1 if not found.

fireListDataEvent

protected void fireListDataEvent(ListDataEvent evt)
Notifies all registered list data listener of the given event.

Parameters: evt the event.

getElementAt

public Object getElementAt(int index)
Returns the value at the specified index.

Parameters: index the requested index

Returns: the value at index

getKeyAt

public Object getKeyAt(int index)
Returns the key from the given index.

Parameters: index the index of the key.

Returns: the the key at the specified index.

getSelectedItem

public Object getSelectedItem()
Returns the selected item.

Returns: The selected item or null if there is no selection

getSelectedKey

public Object getSelectedKey()
Returns the selected data element or null if none is set.

Returns: the selected data element.

getSize

public int getSize()
Returns the length of the list.

Returns: the length of the list

removeDataElement

public void removeDataElement(Object key)
Removes an entry from the model.

Parameters: key the key

removeListDataListener

public void removeListDataListener(ListDataListener l)
Removes a listener from the list that's notified each time a change to the data model occurs.

Parameters: l the ListDataListener to be removed

setAllowOtherValue

public void setAllowOtherValue(boolean allowOtherValue)

setData

public void setData(Object[] keys, Object[] values)
Replaces the data in this combobox model. The number of keys must be equals to the number of values.

Parameters: keys the keys values the values

setSelectedItem

public void setSelectedItem(Object anItem)
Set the selected item. The implementation of this method should notify all registered ListDataListeners that the contents have changed.

Parameters: anItem the list object to select or null to clear the selection

setSelectedKey

public void setSelectedKey(Object anItem)
Defines the selected key. If the object is not in the list of values, no item gets selected.

Parameters: anItem the new selected item.