public abstract class FilteredListModel<E extends javax.swing.ListModel<?>>
extends javax.swing.AbstractListModel
implements javax.swing.event.ListDataListener
Modifier and Type | Field and Description |
---|---|
protected E |
delegated
The delegated table model.
|
Modifier | Constructor and Description |
---|---|
protected |
FilteredListModel(E delegated) |
Modifier and Type | Method and Description |
---|---|
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.
|
protected E extends javax.swing.ListModel<?> delegated
protected FilteredListModel(E delegated)
public void setList(javax.swing.JList<?> list)
list
- the list that uses the modelpublic E getDelegated()
public void setDelegated(E delegated)
public void setFilter(@Nullable java.lang.String filter)
@Nullable public java.lang.String prepareFilter(@Nullable java.lang.String filter)
public abstract boolean passFilter(int row, @Nullable java.lang.String filter)
row
- the row number the delegate row countfilter
- the filter stringprotected 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 indexpublic int getInternal2ExternalRow(int internalRowIndex)
internalRowIndex
- the internal row indexpublic 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