|
JIDE 3.5.15 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.jidesoft.swing.Searchable com.jidesoft.swing.ListSearchable
public class ListSearchable
ListSearchable
is an concrete implementation of Searchable
that enables the search function in
JList.
It's very simple to use it. Assuming you have a JList, all you need to do is to call
Now the JList will have the search function.
JList list = ....;
ListSearchable searchable = new ListSearchable(list);
JList list = ....;
ListSearchable searchable = new ListSearchable(list) {
protected String convertElementToString(Object object) {
...
}
};
Additional customization can be done on the base Searchable class such as background and foreground color,
keystrokes, case sensitivity.
JList actually has a simple searchable feature but has flaws. It will affect our searchable feature. To workaround
it, you can override getNextMatch method and always return -1 when you create your JList.
JList list = new JList(...) {
public int getNextMatch(String prefix, int startIndex, Position.Bias bias) {
return -1;
}
};
Nested Class Summary |
---|
Nested classes/interfaces inherited from class com.jidesoft.swing.Searchable |
---|
Searchable.SearchField, Searchable.SearchPopup |
Field Summary |
---|
Fields inherited from class com.jidesoft.swing.Searchable |
---|
_component, _componentListener, _focusListener, _keyListener, _matchCount, CLIENT_PROPERTY_SEARCHABLE, listenerList, PROPERTY_SEARCH_TEXT |
Constructor Summary | |
---|---|
ListSearchable(JList list)
|
Method Summary | |
---|---|
void |
contentsChanged(ListDataEvent e)
|
protected String |
convertElementToString(Object object)
Converts the element in Jlist to string. |
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. |
void |
intervalAdded(ListDataEvent e)
|
void |
intervalRemoved(ListDataEvent e)
|
boolean |
isUseRendererAsConverter()
Get the flag if the ListSearchable should use the renderer in the list as its converter. |
void |
propertyChange(PropertyChangeEvent evt)
|
void |
setSelectedIndex(int index,
boolean incremental)
Sets the selected index. |
void |
setUseRendererAsConverter(boolean useRendererAsConverter)
Set the flag if the ListSearchable should use the renderer in the list as its converter. |
void |
uninstallListeners()
Uninstall the listeners that installed before. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ListSearchable(JList list)
Method Detail |
---|
public void uninstallListeners()
Searchable
uninstallListeners
in class Searchable
public void setSelectedIndex(int index, boolean incremental)
Searchable
setSelectedIndex
in class Searchable
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.protected int getSelectedIndex()
Searchable
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).
getSelectedIndex
in class Searchable
protected Object getElementAt(int index)
Searchable
getElementAt
in class Searchable
index
- the index
protected int getElementCount()
Searchable
getElementCount
in class Searchable
protected String convertElementToString(Object object)
toString()
of whatever
element that returned from list.getModel().getElementAt(i)
.
convertElementToString
in class Searchable
object
- the object to be converted to string
public void contentsChanged(ListDataEvent e)
contentsChanged
in interface ListDataListener
public void intervalAdded(ListDataEvent e)
intervalAdded
in interface ListDataListener
public void intervalRemoved(ListDataEvent e)
intervalRemoved
in interface ListDataListener
public void propertyChange(PropertyChangeEvent evt)
propertyChange
in interface PropertyChangeListener
public boolean isUseRendererAsConverter()
public void setUseRendererAsConverter(boolean useRendererAsConverter)
useRendererAsConverter
- the flagisUseRendererAsConverter()
|
JIDE 3.5.15 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |