public final class ListSortUI extends Object
This implementation is an adaption of JTable.SortManager fit to the needs of a ListUI. In contrast to JTable tradition, the ui delegate has full control about listening to model/selection changes and updating the list accordingly. So it's role is that of a helper to the ui-delgate (vs. as a helper of the JTable). It's still up to the ListUI itself to listen to model/selection and propagate the notification to this class, if a sorter is installed, but still do the usual updates (layout, repaint) itself. On the other hand, listening to the sorter and updating list state accordingly is completely done by this.
Constructor | Description |
---|---|
ListSortUI(JXList list,
RowSorter<? extends ListModel> sorter) |
Intanstiates a SortUI on the list which has the given RowSorter.
|
Modifier and Type | Method | Description |
---|---|---|
protected RowSorterListener |
createRowSorterListener() |
Creates and returns a RowSorterListener.
|
void |
dispose() |
Disposes any resources used by this SortManager.
|
void |
modelChanged(ListDataEvent e) |
Called after notification from ListModel.
|
protected void |
sortedChanged(RowSorterEvent e) |
Called after notification from RowSorter.
|
void |
viewSelectionChanged(ListSelectionEvent e) |
Called after notification from selectionModel.
|
public ListSortUI(JXList list, RowSorter<? extends ListModel> sorter)
list
- the list to control, must not be nullsorter
- the rowSorter of the list, must not be nullNullPointerException
- if either the list or the sorter is nullIllegalStateException
- if the sorter is not the sorter installed
on the listpublic void dispose()
public void modelChanged(ListDataEvent e)
e
- the change event from the listModel.public void viewSelectionChanged(ListSelectionEvent e)
protected void sortedChanged(RowSorterEvent e)
e
- RowSorter event of type SORTED.protected RowSorterListener createRowSorterListener()
Copyright © 2018. All rights reserved.