com.jidesoft.combobox
Class ListComboBoxSearchable
java.lang.Object
com.jidesoft.swing.Searchable
com.jidesoft.combobox.AbstractComboBoxSearchable
com.jidesoft.combobox.ListComboBoxSearchable
- All Implemented Interfaces:
- PropertyChangeListener, EventListener, ListDataListener, PopupMenuListener
public class ListComboBoxSearchable
- extends AbstractComboBoxSearchable
ListSearchable
is an concrete implementation of Searchable
that enables the
search function in ListComboBox.
It's very simple to use it. Assuming you have a JList, all you need to do is to
call
ListComboBox listComboBox = ....;
ListComboBoxSearchable searchable = new ListComboBoxSearchable(listComboBox);
Now the ListComboBox will have the search function.
There is very little customization you need to do to ListComboBoxSearchable. The only thing you might need is when
the element in the ListComboBox needs a special conversion to convert to string. If so, you can override
convertElementToString() to provide you own algorithm to do the conversion.
ListComboBox listComboBox = ....;
ListComboBoxSearchable searchable = new ListComboBoxSearchable(listComboBox) {
protected String convertElementToString(Object object) {
...
}
};
Additional customization can be done on the base Searchable class such as background and foreground color,
keystrokes, case sensitivity.
Method Summary |
protected Object |
getElementAt(int index)
Gets the element at the specified index. |
protected int |
getElementCount()
Gets the total element count in the component. |
protected int |
getSelectedIndex()
Gets the selected index in the component. |
protected void |
setSelectedIndex(int index,
boolean incremental)
Sets the selected index. |
Methods inherited from class com.jidesoft.combobox.AbstractComboBoxSearchable |
contentsChanged, convertElementToString, getComboBox, intervalAdded, intervalRemoved, isShowPopupDuringSearching, popupMenuCanceled, popupMenuWillBecomeInvisible, popupMenuWillBecomeVisible, propertyChange, setShowPopupDuringSearching, uninstallListeners |
Methods inherited from class com.jidesoft.swing.Searchable |
addPropertyChangeListener, addSearchableListener, adjustSelectedIndex, cancelHighlightAll, compare, compare, convertToString, createComponentListener, createFocusListener, createKeyListener, createSearchPopup, findAll, findFirst, findFromCursor, findLast, findNext, findPrevious, firePropertyChangeEvent, fireSearchableEvent, getBackground, getComponent, getCurrentIndex, getCursor, getElementAtAsString, getForeground, getMismatchForeground, getPopupLocation, getPopupLocationRelativeTo, getPopupTimeout, getResourceString, getSearchable, getSearchableListeners, getSearchableProvider, getSearchingDelay, getSearchingText, getSearchLabel, getWildcardSupport, hidePopup, highlightAll, installListeners, isActivateKey, isCaseSensitive, isCountMatch, isDeactivateKey, isFindFirstKey, isFindLastKey, isFindNextKey, isFindPreviousKey, isFromStart, isHeavyweightComponentEnabled, isHideSearchPopupOnEvent, isIncrementalSelectKey, isNavigationKey, isPopupVisible, isProcessModelChangeEvent, isRepeats, isReverseOrder, isSearchableListenerInstalled, isSelectAllKey, isWildcardEnabled, keyTypedOrPressed, removePropertyChangeListener, removeSearchableListener, reverseFindFromCursor, searchingTextEmpty, select, setBackground, setCaseSensitive, setCountMatch, setCursor, setCursor, setForeground, setFromStart, setHeavyweightComponentEnabled, setHideSearchPopupOnEvent, setMismatchForeground, setPopupLocation, setPopupLocationRelativeTo, setPopupTimeout, setProcessModelChangeEvent, setRepeats, setReverseOrder, setSearchableProvider, setSearchingDelay, setSearchLabel, setWildcardEnabled, setWildcardSupport, showPopup, textChanged |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ListComboBoxSearchable
public ListComboBoxSearchable(ListComboBox listComboBox)
ListComboBoxSearchable
public ListComboBoxSearchable(MultiSelectListComboBox listComboBox)
setSelectedIndex
protected void setSelectedIndex(int index,
boolean incremental)
- Description copied from class:
Searchable
- Sets the selected index. The concrete implementation should call methods on the component to select the element
at the specified index. The incremental flag is used to do multiple select. If the flag is true, the element at
the index should be added to current selection. If false, you should clear previous selection and then select the
element.
- Specified by:
setSelectedIndex
in class Searchable
- Parameters:
index
- the index to be selectedincremental
- a flag to enable multiple selection. If the flag is true, the element at the index should be
added to current selection. If false, you should clear previous selection and then select the
element.
getSelectedIndex
protected int getSelectedIndex()
- Description copied from class:
Searchable
- Gets the selected index in the component. The concrete implementation should call methods on the component to
retrieve the current selected index. If the component supports multiple selection, it's OK just return the index
of the first selection.
Here are some examples. In the case of JList, the index is the row index. In the case
of JTree, the index is the row index too. In the case of JTable, depending on the selection mode, the index could
be row index (in row selection mode), could be column index (in column selection mode) or could the cell index
(in cell selection mode).
- Specified by:
getSelectedIndex
in class Searchable
- Returns:
- the selected index.
getElementAt
protected Object getElementAt(int index)
- Description copied from class:
Searchable
- Gets the element at the specified index. The element could be any data structure that internally used in the
component. The convertElementToString method will give you a chance to convert the element to string which is
used to compare with the string that user types in.
- Specified by:
getElementAt
in class Searchable
- Parameters:
index
- the index
- Returns:
- the element at the specified index.
getElementCount
protected int getElementCount()
- Description copied from class:
Searchable
- Gets the total element count in the component. Different concrete implementation could have different
interpretation of the count. This is totally OK as long as it's consistent in all the methods. For example, the
index parameter in other methods should be always a valid value within the total count.
- Specified by:
getElementCount
in class Searchable
- Returns:
- the total element count.