M - тип базовой моделиpublic abstract class RowSorter<M> extends Object
RowSorter обеспечивает основание для сортировки и фильтрации. Вне создания и установки a RowSorter, Вы очень редко должны взаимодействовать с тем непосредственно. Обратитесь к TableRowSorter для конкретной реализации RowSorter для JTable.
RowSorter's основная роль должен обеспечить отображение между двумя системами координат: это представления (например a JTable) и тот из базового источника данных, обычно модель.
Представление вызывает следующие методы на RowSorter:
toggleSortOrder — Представление вызывает это, когда соответствующий пользовательский жест произошел, чтобы инициировать вид. Например, пользователь, по которому щелкают заголовок столбца в таблице. RowSorter не должен обновить его отображение, пока один из этих методов не вызывается. convertRowIndexToModel, convertRowIndexToView и getViewRowCount методы, эти методы должны быть быстрыми.
RowSorter обеспечивает уведомление об изменениях посредством RowSorterListener. Два типа уведомления отправляются:
RowSorterEvent.Type.SORT_ORDER_CHANGED — уведомляет слушателей, что порядок сортировки изменился. Это обычно сопровождается уведомлением, что вид изменился. RowSorterEvent.Type.SORTED — уведомляет слушателей что отображение, сохраняемое RowSorter изменился в некотором роде. RowSorter у реализаций обычно нет непосредственного отображения с базовой моделью, но они могут. Например, если база данных делает сортировку, toggleSortOrder мог бы вызвать через к базе данных (на фоновом потоке), и переопределить отображающиеся методы, чтобы возвратить параметр, в котором передают. Конкретные реализации RowSorter потребность сослаться на модель такой как TableModel или ListModel. Классы представления, такой как JTable и JList, будет также иметь ссылку на модель. Избегать упорядочивать зависимости, RowSorter реализации не должны установить слушателя на модели. Вместо этого представление class вызовет в RowSorter когда модель изменяется. Например, если строка обновляется в a TableModel
JTable вызывает rowsUpdated. Когда модель изменяется, представление может вызвать в любой из следующих методов: modelStructureChanged, allRowsChanged, rowsInserted, rowsDeleted и rowsUpdated.
TableRowSorter| Модификатор и Тип | Класс и Описание |
|---|---|
static class |
RowSorter. SortKey
SortKey описывает порядок сортировки для определенного столбца.
|
| Конструктор и Описание |
|---|
RowSorter()
Создает a
RowSorter. |
| Модификатор и Тип | Метод и Описание |
|---|---|
void |
addRowSorterListener(RowSorterListener l)
Добавляет a
RowSorterListener получить уведомление об этом RowSorter. |
abstract void |
allRowsChanged()
Вызванный, когда содержание базовой модели полностью изменилось.
|
abstract int |
convertRowIndexToModel(int index)
Возвращает расположение
index с точки зрения базовой модели. |
abstract int |
convertRowIndexToView(int index)
Возвращает расположение
index с точки зрения представления. |
protected void |
fireRowSorterChanged(int[] lastRowIndexToModel)
Уведомляет слушателя, что отображение изменилось.
|
protected void |
fireSortOrderChanged()
Уведомляет слушателя, что порядок сортировки изменился.
|
abstract M |
getModel()
Возвращает базовую модель.
|
abstract int |
getModelRowCount()
Возвращает число строк в базовой модели.
|
abstract List<? extends RowSorter.SortKey> |
getSortKeys()
Возвращает текущие ключи сортировки.
|
abstract int |
getViewRowCount()
Возвращает число строк в представлении.
|
abstract void |
modelStructureChanged()
Вызванный, когда базовая структура модели полностью изменилась.
|
void |
removeRowSorterListener(RowSorterListener l)
Удаляет a
RowSorterListener. |
abstract void |
rowsDeleted(int firstRow, int endRow)
Вызванный, когда строки были удалены из базовой модели в указанном диапазоне (включительно).
|
abstract void |
rowsInserted(int firstRow, int endRow)
Вызванный, когда строки были вставлены в базовую модель в указанном диапазоне (включительно).
|
abstract void |
rowsUpdated(int firstRow, int endRow)
Вызванный, когда строки были изменены в базовой модели между указанным диапазоном (включительно).
|
abstract void |
rowsUpdated(int firstRow, int endRow, int column)
Вызванный, когда столбец в строках были обновлены в базовой модели между указанным диапазоном.
|
abstract void |
setSortKeys(List<? extends RowSorter.SortKey> keys)
Устанавливает текущие ключи сортировки.
|
abstract void |
toggleSortOrder(int column)
Инвертирует порядок сортировки указанного столбца.
|
public abstract M getModel()
public abstract void toggleSortOrder(int column)
Если это приводит к изменению порядка сортировки и сортировке, соответствующему RowSorterListener уведомление будет отправлено.
column - столбец, чтобы переключить упорядочивание вида, с точки зрения базовой моделиIndexOutOfBoundsException - если столбец вне диапазона базовой моделиpublic abstract int convertRowIndexToModel(int index)
index с точки зрения базовой модели. Таким образом, для строки index в координатах представления это возвращается, строка индексируют с точки зрения базовой модели.index - строка индексирует с точки зрения базового представленияIndexOutOfBoundsException - если index вне диапазона представленияpublic abstract int convertRowIndexToView(int index)
index с точки зрения представления. Таким образом, для строки index в координатах базовой модели это возвращается, строка индексируют с точки зрения представления.index - строка индексирует с точки зрения базовой моделиIndexOutOfBoundsException - если index вне диапазона моделиpublic abstract void setSortKeys(List<? extends RowSorter.SortKey> keys)
keys - новое SortKeys; null сокращение для того, чтобы определить пустой список, указывая, что представление должно быть несортированоpublic abstract List<? extends RowSorter.SortKey> getSortKeys()
non-null List и может возвратить неподдающееся изменению List. Если Вы должны изменить ключи сортировки, сделайте копию возвращенного List, видоизмените копию и вызовите setSortKeys с новым списком.public abstract int getViewRowCount()
getModelRowCount()public abstract int getModelRowCount()
getViewRowCount()public abstract void modelStructureChanged()
TableModel измененный, этот метод был бы вызван. Вы обычно не вызываете этот метод. Этот метод общедоступен, чтобы позволить классам представления вызывать это.
public abstract void allRowsChanged()
Вы обычно не вызываете этот метод. Этот метод общедоступен, чтобы позволить классам представления вызывать это.
public abstract void rowsInserted(int firstRow,
int endRow)
Параметры дают индексы произведенного диапазона. Первый параметр с точки зрения модели перед изменением, и должен быть меньше чем или равным размеру модели перед изменением. Второй параметр с точки зрения модели после изменения и должен быть меньше чем размер модели после изменения. Например, если Вы имеете модель с 5 строками и добавляете 3 элемента до конца модели, индексы 5, 7.
Вы обычно не вызываете этот метод. Этот метод общедоступен, чтобы позволить классам представления вызывать это.
firstRow - первая строкаendRow - последняя строкаIndexOutOfBoundsException - если или параметр недопустим, или firstRow > endRowpublic abstract void rowsDeleted(int firstRow,
int endRow)
Параметры дают индексы произведенного диапазона и с точки зрения модели перед изменением. Например, если Вы имеете модель с 5 строками и удаляете 3 элемента из конца модели, индексы 2, 4.
Вы обычно не вызываете этот метод. Этот метод общедоступен, чтобы позволить классам представления вызывать это.
firstRow - первая строкаendRow - последняя строкаIndexOutOfBoundsException - если или параметр вне диапазона модели перед изменением, или firstRow > endRowpublic abstract void rowsUpdated(int firstRow,
int endRow)
Вы обычно не вызываете этот метод. Этот метод общедоступен, чтобы позволить классам представления вызывать это.
firstRow - первая строка, с точки зрения базовой моделиendRow - последняя строка, с точки зрения базовой моделиIndexOutOfBoundsException - если или параметр вне диапазона базовой модели, или firstRow > endRowpublic abstract void rowsUpdated(int firstRow,
int endRow,
int column)
Вы обычно не вызываете этот метод. Этот метод общедоступен, чтобы позволить классам представления вызывать это.
firstRow - первая строка, с точки зрения базовой моделиendRow - последняя строка, с точки зрения базовой моделиcolumn - столбец, который изменился, с точки зрения базовой моделиIndexOutOfBoundsException - если любой параметр вне диапазона базовой модели после изменения, firstRow > endRow, или column вне диапазона базовой моделиpublic void addRowSorterListener(RowSorterListener l)
RowSorterListener получить уведомление об этом RowSorter. Если тот же самый слушатель будет добавлен не раз, то это получит многократные уведомления. Если l null ничто не делается.l - RowSorterListenerpublic void removeRowSorterListener(RowSorterListener l)
RowSorterListener. Если l null ничто не делается.l - RowSorterListenerprotected void fireSortOrderChanged()
protected void fireRowSorterChanged(int[] lastRowIndexToModel)
lastRowIndexToModel - отображение от индексов модели, чтобы просмотреть индексы до вида, может быть null
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92