Spec-Zone .ru
спецификации, руководства, описания, API
|
M
- тип моделиI
- тип идентификатора, который передают к RowFilter
public abstract class DefaultRowSorter<M,I> extends RowSorter<M>
RowSorter
это обеспечивает сортировку и фильтрацию вокруг основанной на сетке модели данных. Вне создания и установки a RowSorter
, Вы очень редко должны взаимодействовать с тем непосредственно. Обратитесь к TableRowSorter
для конкретной реализации RowSorter
для JTable
. Сортировка делается основанная на токе SortKey
s, в порядке. Если два объекта равны ( Comparator
поскольку столбец возвращает 0) следующее SortKey
используется. Если нет SortKey
s остаются, или порядок UNSORTED
, тогда порядок строк в модели используется.
Сортировка каждого столбца делается посредством a Comparator
то, что можно определить использование setComparator
метод. Если a Comparator
не был определен, Comparator
возвращенный Collator.getInstance()
используется на результатах вызова toString
на базовых объектах. Comparator
никогда не передается null
. A null
значение обрабатывается как происходящий перед не -null
значение, и два null
значения считают равными.
Если Вы определяете a Comparator
это бросает его параметр типу кроме обеспеченного моделью, a ClassCastException
будет брошен, когда данные сортируются.
В дополнение к сортировке, DefaultRowSorter
обеспечивает возможность фильтровать строки. Фильтрация делается посредством a RowFilter
это определяется, используя setRowFilter
метод. Если никакой фильтр не был определен, все строки включаются.
По умолчанию строки находятся в несортированном порядке (то же самое как модель), и каждый столбец является поддающимся сортировке. Значение по умолчанию Comparator
s документируются в подклассы (например, TableRowSorter
).
Если базовая структура модели изменяется ( modelStructureChanged
метод вызывается), следующее сбрасывается к их значениям по умолчанию: Comparator
s столбцом, текущим порядком сортировки, и является ли каждый столбец поддающимся сортировке. Найти значение по умолчанию Comparator
s, см. конкретную реализацию (например, TableRowSorter
). Порядок сортировки по умолчанию несортируется (то же самое как модель), и столбцы являются поддающимися сортировке по умолчанию.
Если базовая структура модели изменяется ( modelStructureChanged
метод вызывается), следующее сбрасывается к их значениям по умолчанию: Comparator
s столбцом, текущим порядком сортировки и является ли столбец поддающимся сортировке.
DefaultRowSorter
абстрактный класс. Конкретные подклассы должны обеспечить доступ к базовым данным, вызывая setModelWrapper
. setModelWrapper
метод должен быть вызван вскоре после того, как конструктора вызывают, идеально изнутри конструктора подкласса. Неопределенное поведение закончится, если Вы будете использовать a DefaultRowSorter
не определяя a ModelWrapper
.
DefaultRowSorter
имеет два формальных параметра типа. Первый параметр типа соответствует классу модели, например DefaultTableModel
. Второй параметр типа соответствует классу идентификатора, который передают к RowFilter
. Обратитесь к TableRowSorter
и RowFilter
для большего количества деталей о параметрах типа.
TableRowSorter
, DefaultTableModel
, Collator
Модификатор и Тип | Класс и Описание |
---|---|
protected static class |
DefaultRowSorter.ModelWrapper<M,I>
DefaultRowSorter.ModelWrapper ответственно за обеспечение данных, которые сортируются DefaultRowSorter . |
RowSorter. SortKey
Конструктор и Описание |
---|
DefaultRowSorter()
Создает пустое
DefaultRowSorter . |
Модификатор и Тип | Метод и Описание |
---|---|
void |
allRowsChanged()
Вызванный, когда содержание базовой модели полностью изменилось.
|
int |
convertRowIndexToModel(int index)
Возвращает расположение
index с точки зрения базовой модели. |
int |
convertRowIndexToView(int index)
Возвращает расположение
index с точки зрения представления. |
Comparator<?> |
getComparator(int column)
Возвраты
Comparator для указанного столбца. |
int |
getMaxSortKeys()
Возвращает максимальное количество ключей сортировки.
|
М. |
getModel()
Возвращает базовую модель.
|
int |
getModelRowCount()
Возвращает число строк в базовой модели.
|
protected DefaultRowSorter.ModelWrapper<M,I> |
getModelWrapper()
Возвращает обертку модели, обеспечивающую данные, которые сортируются и фильтруются.
|
RowFilter<? super M,? super I> |
getRowFilter()
Возвращает фильтр, который определяет, какие строки, если таковые вообще имеются, должны быть скрыты от представления.
|
List<? extends RowSorter.SortKey> |
getSortKeys()
Возвращает текущие ключи сортировки.
|
boolean |
getSortsOnUpdates()
Возвращает true, если вид должен произойти, когда базовая модель обновляется; иначе, возвращает false.
|
int |
getViewRowCount()
Возвращает число строк в представлении.
|
boolean |
isSortable(int column)
Возвращает true, если указанный столбец является поддающимся сортировке; иначе, ложь.
|
void |
modelStructureChanged()
Вызванный, когда базовая структура модели полностью изменилась.
|
void |
rowsDeleted(int firstRow, int endRow)
Вызванный, когда строки были удалены из базовой модели в указанном диапазоне (включительно).
|
void |
rowsInserted(int firstRow, int endRow)
Вызванный, когда строки были вставлены в базовую модель в указанном диапазоне (включительно).
|
void |
rowsUpdated(int firstRow, int endRow)
Вызванный, когда строки были изменены в базовой модели между указанным диапазоном (включительно).
|
void |
rowsUpdated(int firstRow, int endRow, int column)
Вызванный, когда столбец в строках были обновлены в базовой модели между указанным диапазоном.
|
void |
setComparator(int column, Comparator<?> comparator)
Наборы
Comparator использовать, сортируя указанный столбец. |
void |
setMaxSortKeys(int max)
Устанавливает максимальное количество ключей сортировки.
|
protected void |
setModelWrapper(DefaultRowSorter.ModelWrapper<M,I> modelWrapper)
Устанавливает обертку модели, обеспечивающую данные, которые сортируются и фильтруются.
|
void |
setRowFilter(RowFilter<? super M,? super I> filter)
Устанавливает фильтр, который определяет, какие строки, если таковые вообще имеются, должны быть скрыты от представления.
|
void |
setSortable(int column, boolean sortable)
Наборы, является ли указанный столбец поддающимся сортировке.
|
void |
setSortKeys(List<? extends RowSorter.SortKey> sortKeys)
Устанавливает ключи сортировки.
|
void |
setSortsOnUpdates(boolean sortsOnUpdates)
Если это правда, определяет, что вид должен произойти, когда базовая модель обновляется (
rowsUpdated вызывается). |
void |
sort()
Виды и фильтры строки в представлении, основанном на ключах сортировки столбцов, в настоящий момент сортируемых и фильтра, если таковые вообще имеются, связались с этим сортировщиком.
|
void |
toggleSortOrder(int column)
Инвертирует порядок сортировки от возрастания до убывания (или убывание к возрастанию), если указанный столбец уже является основным сортированным столбцом; иначе, делает указанный столбец основным сортированным столбцом, с сортировкой по возрастанию.
|
protected boolean |
useToString(int column)
Возвраты, преобразовать ли значение в строку прежде, чем сделать сравнения, сортируя.
|
addRowSorterListener, fireRowSorterChanged, fireSortOrderChanged, removeRowSorterListener
protected final void setModelWrapper(DefaultRowSorter.ModelWrapper<M,I> modelWrapper)
modelWrapper
- обертка модели, ответственная за обеспечение данных, которые сортируются и фильтровалиIllegalArgumentException
- если modelWrapper
null
protected final DefaultRowSorter.ModelWrapper<M,I> getModelWrapper()
public final M getModel()
public void setSortable(int column, boolean sortable)
toggleSortOrder
вызывается. Это все еще возможно к виду на столбце, который был отмечен как неподдающийся сортировке, непосредственно устанавливая ключи сортировки. Значение по умолчанию является истиной.column
- столбец, чтобы включить или отключить сортировку на, с точки зрения базовой моделиsortable
- является ли указанный столбец поддающимся сортировкеIndexOutOfBoundsException
- если column
вне диапазона моделиtoggleSortOrder(int)
, setSortKeys(java.util.List<? extends javax.swing.RowSorter.SortKey>)
public boolean isSortable(int column)
column
- столбец, чтобы проверить сортировку на, с точки зрения базовой моделиIndexOutOfBoundsException
- если столбец вне диапазона базовой моделиpublic void setSortKeys(List<? extends RowSorter.SortKey> sortKeys)
List
; последующие изменения к предоставленному List
не производите это DefaultRowSorter
. Если ключи сортировки изменились, это инициировало вид.setSortKeys
в классе RowSorter<M>
sortKeys
- новое SortKeys
; null
сокращение для того, чтобы определить пустой список, указывая, что представление должно быть несортированоIllegalArgumentException
- если любое из значений в sortKeys
нуль или имеет индекс столбца вне диапазона моделиpublic List<? extends RowSorter.SortKey> getSortKeys()
non-null List
. Если Вы должны изменить ключи сортировки, сделайте копию возвращенного List
, видоизмените копию и вызовите setSortKeys
с новым списком.getSortKeys
в классе RowSorter<M>
public void setMaxSortKeys(int max)
setMaxSortKeys(2)
вызывается на это. Пользователь щелкает по заголовку для столбца 1, заставляя строки таблицы быть сортированным основанный на элементах в столбце 1. Затем, пользователь щелкает по заголовку для столбца 2, заставляя таблицу быть сортированным основанный на элементах в столбце 2; если какие-либо элементы в столбце 2 равны, то те определенные строки упорядочиваются основанные на элементах в столбце 1. В этом случае мы говорим, что строки прежде всего сортируются на столбце 2, и во вторую очередь на столбце 1. Если пользователь тогда щелкает по заголовку для столбца 3, то элементы прежде всего сортируются на столбце 3 и во вторую очередь сортируются на столбце 2. Поскольку максимальное количество ключей сортировки было установлено в 2 с setMaxSortKeys
, столбец 1 больше не имеет эффект на порядок. Максимальное количество ключей сортировки осуществляется toggleSortOrder
. Можно определить больше ключей сортировки, вызывая setSortKeys
непосредственно и их будут все соблюдать. Однако, если toggleSortOrder
впоследствии вызывается максимальное количество ключей сортировки будет осуществлено. Значение по умолчанию 3.
max
- максимальное количество ключей сортировкиIllegalArgumentException
- если max
< 1public int getMaxSortKeys()
public void setSortsOnUpdates(boolean sortsOnUpdates)
rowsUpdated
вызывается). Например, если это - истина, и пользователь редактирует запись, которую может изменить расположение того элемента в представлении. Значение по умолчанию является ложью.sortsOnUpdates
- действительно ли к виду на событиях обновленияpublic boolean getSortsOnUpdates()
public void setRowFilter(RowFilter<? super M,? super I> filter)
null
указывает, что все значения от модели должны быть включены.
RowFilter
's include
метод передают Entry
это обертывает базовую модель. Число столбцов в Entry
соответствует числу столбцов в ModelWrapper
. Идентификатор прибывает из ModelWrapper
также.
Этот метод инициировал вид.
filter
- фильтр, используемый, чтобы определить, какие записи должны быть включеныpublic RowFilter<? super M,? super I> getRowFilter()
public void toggleSortOrder(int column)
toggleSortOrder
в классе RowSorter<M>
column
- индекс столбца, чтобы сделать основной сортированный столбец, с точки зрения базовой моделиIndexOutOfBoundsException
- если столбец вне диапазона базовой моделиsetSortable(int,boolean)
, setMaxSortKeys(int)
public int convertRowIndexToView(int index)
index
с точки зрения представления. Таким образом, для строки index
в координатах базовой модели это возвращает индекс строки с точки зрения представления.convertRowIndexToView
в классе RowSorter<M>
index
- индекс строки с точки зрения базовой моделиIndexOutOfBoundsException
- если index
вне диапазона моделиpublic int convertRowIndexToModel(int index)
index
с точки зрения базовой модели. Таким образом, для строки index
в координатах представления это возвращает индекс строки с точки зрения базовой модели.convertRowIndexToModel
в классе RowSorter<M>
index
- индекс строки с точки зрения базового представленияIndexOutOfBoundsException
- если index
вне диапазона представленияpublic void sort()
sortKeys
список указывает, что представление должно несортированный, то же самое как модель.protected boolean useToString(int column)
ModelWrapper.getStringValueAt
будет использоваться, иначе ModelWrapper.getValueAt
будет использоваться. Это до подклассов, такой как TableRowSorter
, соблюдать это значение в их ModelWrapper
реализация.column
- индекс столбца, чтобы протестировать, с точки зрения базовой моделиIndexOutOfBoundsException
- если column
не допустимоpublic void setComparator(int column, Comparator<?> comparator)
Comparator
использовать, сортируя указанный столбец. Это не инициировало вид. Если Вы хотите сортировать после установки компаратора, Вы должны явно вызвать sort
.column
- индекс столбца Comparator
должен использоваться для, с точки зрения базовой моделиcomparator
- Comparator
использоватьIndexOutOfBoundsException
- если column
вне диапазона базовой моделиpublic Comparator<?> getComparator(int column)
Comparator
для указанного столбца. Это возвратится null
если a Comparator
не был определен для столбца.column
- столбец, чтобы выбрать Comparator
для, с точки зрения базовой моделиComparator
для указанного столбцаIndexOutOfBoundsException
- если столбец вне диапазона базовой моделиpublic int getViewRowCount()
getViewRowCount
в классе RowSorter<M>
RowSorter.getModelRowCount()
public int getModelRowCount()
getModelRowCount
в классе RowSorter<M>
RowSorter.getViewRowCount()
public void modelStructureChanged()
TableModel
измененный, этот метод был бы вызван. Вы обычно не вызываете этот метод. Этот метод общедоступен, чтобы позволить классам представления вызывать это.
modelStructureChanged
в классе RowSorter<M>
public void allRowsChanged()
Вы обычно не вызываете этот метод. Этот метод общедоступен, чтобы позволить классам представления вызывать это.
allRowsChanged
в классе RowSorter<M>
public void rowsInserted(int firstRow, int endRow)
Параметры дают индексы произведенного диапазона. Первый параметр с точки зрения модели перед изменением, и должен быть меньше чем или равным размеру модели перед изменением. Второй параметр с точки зрения модели после изменения и должен быть меньше чем размер модели после изменения. Например, если Вы имеете модель с 5 строками и добавляете 3 элемента до конца модели, индексы 5, 7.
Вы обычно не вызываете этот метод. Этот метод общедоступен, чтобы позволить классам представления вызывать это.
rowsInserted
в классе RowSorter<M>
firstRow
- первая строкаendRow
- последняя строкаIndexOutOfBoundsException
- если или параметр недопустим, или firstRow
> endRow
public void rowsDeleted(int firstRow, int endRow)
Параметры дают индексы произведенного диапазона и с точки зрения модели перед изменением. Например, если Вы имеете модель с 5 строками и удаляете 3 элемента из конца модели, индексы 2, 4.
Вы обычно не вызываете этот метод. Этот метод общедоступен, чтобы позволить классам представления вызывать это.
rowsDeleted
в классе RowSorter<M>
firstRow
- первая строкаendRow
- последняя строкаIndexOutOfBoundsException
- если или параметр вне диапазона модели перед изменением, или firstRow
> endRow
public void rowsUpdated(int firstRow, int endRow)
Вы обычно не вызываете этот метод. Этот метод общедоступен, чтобы позволить классам представления вызывать это.
rowsUpdated
в классе RowSorter<M>
firstRow
- первая строка, с точки зрения базовой моделиendRow
- последняя строка, с точки зрения базовой моделиIndexOutOfBoundsException
- если или параметр вне диапазона базовой модели, или firstRow
> endRow
public void rowsUpdated(int firstRow, int endRow, int column)
Вы обычно не вызываете этот метод. Этот метод общедоступен, чтобы позволить классам представления вызывать это.
rowsUpdated
в классе RowSorter<M>
firstRow
- первая строка, с точки зрения базовой моделиendRow
- последняя строка, с точки зрения базовой моделиcolumn
- столбец, который изменился, с точки зрения базовой моделиIndexOutOfBoundsException
- если любой параметр вне диапазона базовой модели после изменения, firstRow
> endRow
, или column
вне диапазона базовой модели
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.