|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.swing.AbstractListModel
org.gjt.sp.jedit.gui.FilteredListModel<E>
public abstract class FilteredListModel<E extends javax.swing.ListModel>
This ListModel delegates another model to add some filtering features to any JList. To use it you must implement the abstract method passFilter(). This method is called for each row, and must return true if the row should be visible, and false otherwise. It is also possible to override the method prepareFilter() that allow you to transform the filter String. Usually you can return it as lowercase It is not mandatory but highly recommended to give the JList instance to the model in order to keep the selection after the filter has been updated
Field Summary | |
---|---|
protected E |
delegated
The delegated table model. |
Fields inherited from class javax.swing.AbstractListModel |
---|
listenerList |
Constructor Summary | |
---|---|
protected |
FilteredListModel(E delegated)
|
Method Summary | |
---|---|
void |
contentsChanged(javax.swing.event.ListDataEvent e)
|
E |
getDelegated()
|
java.lang.Object |
getElementAt(int index)
|
int |
getInternal2ExternalRow(int internalRowIndex)
Converts a row index from the delegated table model into a row index of the JTable. |
int |
getSize()
|
int |
getTrueRow(int rowIndex)
Converts a row index from the JTable to an internal row index from the delegated model. |
void |
intervalAdded(javax.swing.event.ListDataEvent e)
|
void |
intervalRemoved(javax.swing.event.ListDataEvent e)
|
abstract boolean |
passFilter(int row,
java.lang.String filter)
This callback indicates if a row passes the filter. |
java.lang.String |
prepareFilter(java.lang.String filter)
|
protected void |
restoreSelection(java.util.Set<java.lang.Integer> selectedIndices)
|
protected java.util.Set<java.lang.Integer> |
saveSelection()
|
void |
setDelegated(E delegated)
|
void |
setFilter(java.lang.String filter)
|
void |
setList(javax.swing.JList list)
Set the JList that uses this model. |
Methods inherited from class javax.swing.AbstractListModel |
---|
addListDataListener, fireContentsChanged, fireIntervalAdded, fireIntervalRemoved, getListDataListeners, getListeners, removeListDataListener |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected E extends javax.swing.ListModel delegated
Constructor Detail |
---|
protected FilteredListModel(E delegated)
Method Detail |
---|
public void setList(javax.swing.JList list)
list
- the list that uses the modelpublic E getDelegated()
public void setDelegated(E delegated)
public void setFilter(java.lang.String filter)
public java.lang.String prepareFilter(java.lang.String filter)
public abstract boolean passFilter(int row, java.lang.String filter)
row
- the row number the delegate row countfilter
- the filter string
protected java.util.Set<java.lang.Integer> saveSelection()
protected void restoreSelection(java.util.Set<java.lang.Integer> selectedIndices)
public int getTrueRow(int rowIndex)
rowIndex
- the row index
public int getInternal2ExternalRow(int internalRowIndex)
internalRowIndex
- the internal row index
public java.lang.Object getElementAt(int index)
getElementAt
in interface javax.swing.ListModel
public int getSize()
getSize
in interface javax.swing.ListModel
public void contentsChanged(javax.swing.event.ListDataEvent e)
contentsChanged
in interface javax.swing.event.ListDataListener
public void intervalAdded(javax.swing.event.ListDataEvent e)
intervalAdded
in interface javax.swing.event.ListDataListener
public void intervalRemoved(javax.swing.event.ListDataEvent e)
intervalRemoved
in interface javax.swing.event.ListDataListener
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |