|
Spec-Zone .ru
спецификации, руководства, описания, API
|
M - тип моделиI - тип идентификатора, который передают к RowFilterpublic abstract class DefaultRowSorter<M,I> extends RowSorter<M>
RowSorter это обеспечивает сортировку и фильтрацию вокруг основанной на сетке модели данных. Вне создания и установки a RowSorter, Вы очень редко должны взаимодействовать с тем непосредственно. Обратитесь к TableRowSorter для конкретной реализации RowSorter для JTable. Сортировка делается основанная на токе SortKeys, в порядке. Если два объекта равны ( Comparator поскольку столбец возвращает 0) следующее SortKey используется. Если нет SortKeys остаются, или порядок UNSORTED, тогда порядок строк в модели используется.
Сортировка каждого столбца делается посредством a Comparator то, что можно определить использование setComparator метод. Если a Comparator не был определен, Comparator возвращенный Collator.getInstance() используется на результатах вызова toString на базовых объектах. Comparator никогда не передается null. A null значение обрабатывается как происходящий перед не -null значение, и два null значения считают равными.
Если Вы определяете a Comparator это бросает его параметр типу кроме обеспеченного моделью, a ClassCastException будет брошен, когда данные сортируются.
В дополнение к сортировке, DefaultRowSorter обеспечивает возможность фильтровать строки. Фильтрация делается посредством a RowFilter это определяется, используя setRowFilter метод. Если никакой фильтр не был определен, все строки включаются.
По умолчанию строки находятся в несортированном порядке (то же самое как модель), и каждый столбец является поддающимся сортировке. Значение по умолчанию Comparators документируются в подклассы (например, TableRowSorter).
Если базовая структура модели изменяется ( modelStructureChanged метод вызывается), следующее сбрасывается к их значениям по умолчанию: Comparators столбцом, текущим порядком сортировки, и является ли каждый столбец поддающимся сортировке. Найти значение по умолчанию Comparators, см. конкретную реализацию (например, TableRowSorter). Порядок сортировки по умолчанию несортируется (то же самое как модель), и столбцы являются поддающимися сортировке по умолчанию.
Если базовая структура модели изменяется ( modelStructureChanged метод вызывается), следующее сбрасывается к их значениям по умолчанию: Comparators столбцом, текущим порядком сортировки и является ли столбец поддающимся сортировке.
DefaultRowSorter абстрактный class. Конкретные подклассы должны обеспечить доступ к базовым данным, вызывая setModelWrapper. setModelWrapper метод должен быть вызван вскоре после того, как конструктора вызывают, идеально изнутри конструктора подкласса. Неопределенное поведение закончится, если Вы будете использовать a DefaultRowSorter не определяя a ModelWrapper.
DefaultRowSorter имеет два формальных параметра типа. Первый параметр типа соответствует class модели, например DefaultTableModel. Второй параметр типа соответствует class идентификатора, который передают к 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, removeRowSorterListenerprotected final void setModelWrapper(DefaultRowSorter.ModelWrapper<M,I> modelWrapper)
modelWrapper - обертка модели, ответственная за обеспечение данных, которые сортируются и фильтровалиIllegalArgumentException - если modelWrapper nullprotected 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 в class RowSorter<M>sortKeys - новое SortKeys; null сокращение для того, чтобы определить пустой список, указывая, что представление должно быть несортированоIllegalArgumentException - если любое из значений в sortKeys нуль или имеет столбец, индексируют вне диапазона моделиpublic List<? extends RowSorter.SortKey> getSortKeys()
non-null List. Если Вы должны изменить ключи сортировки, сделайте копию возвращенного List, видоизмените копию и вызовите setSortKeys с новым списком.getSortKeys в class 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 в class RowSorter<M>column - индексируйте столбца, чтобы сделать основной сортированный столбец, с точки зрения базовой моделиIndexOutOfBoundsException - если столбец вне диапазона базовой моделиsetSortable(int,boolean), setMaxSortKeys(int)public int convertRowIndexToView(int index)
index с точки зрения представления. Таким образом, для строки index в координатах базовой модели это возвращается, строка индексируют с точки зрения представления.convertRowIndexToView в class RowSorter<M>index - строка индексирует с точки зрения базовой моделиIndexOutOfBoundsException - если index вне диапазона моделиpublic int convertRowIndexToModel(int index)
index с точки зрения базовой модели. Таким образом, для строки index в координатах представления это возвращается, строка индексируют с точки зрения базовой модели.convertRowIndexToModel в class 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 в class RowSorter<M>RowSorter.getModelRowCount()public int getModelRowCount()
getModelRowCount в class RowSorter<M>RowSorter.getViewRowCount()public void modelStructureChanged()
TableModel измененный, этот метод был бы вызван. Вы обычно не вызываете этот метод. Этот метод общедоступен, чтобы позволить классам представления вызывать это.
modelStructureChanged в class RowSorter<M>public void allRowsChanged()
Вы обычно не вызываете этот метод. Этот метод общедоступен, чтобы позволить классам представления вызывать это.
allRowsChanged в class RowSorter<M>public void rowsInserted(int firstRow,
int endRow)
Параметры дают индексы произведенного диапазона. Первый параметр с точки зрения модели перед изменением, и должен быть меньше чем или равным размеру модели перед изменением. Второй параметр с точки зрения модели после изменения и должен быть меньше чем размер модели после изменения. Например, если Вы имеете модель с 5 строками и добавляете 3 элемента до конца модели, индексы 5, 7.
Вы обычно не вызываете этот метод. Этот метод общедоступен, чтобы позволить классам представления вызывать это.
rowsInserted в class RowSorter<M>firstRow - первая строкаendRow - последняя строкаIndexOutOfBoundsException - если или параметр недопустим, или firstRow > endRowpublic void rowsDeleted(int firstRow,
int endRow)
Параметры дают индексы произведенного диапазона и с точки зрения модели перед изменением. Например, если Вы имеете модель с 5 строками и удаляете 3 элемента из конца модели, индексы 2, 4.
Вы обычно не вызываете этот метод. Этот метод общедоступен, чтобы позволить классам представления вызывать это.
rowsDeleted в class RowSorter<M>firstRow - первая строкаendRow - последняя строкаIndexOutOfBoundsException - если или параметр вне диапазона модели перед изменением, или firstRow > endRowpublic void rowsUpdated(int firstRow,
int endRow)
Вы обычно не вызываете этот метод. Этот метод общедоступен, чтобы позволить классам представления вызывать это.
rowsUpdated в class RowSorter<M>firstRow - первая строка, с точки зрения базовой моделиendRow - последняя строка, с точки зрения базовой моделиIndexOutOfBoundsException - если или параметр вне диапазона базовой модели, или firstRow > endRowpublic void rowsUpdated(int firstRow,
int endRow,
int column)
Вы обычно не вызываете этот метод. Этот метод общедоступен, чтобы позволить классам представления вызывать это.
rowsUpdated в class RowSorter<M>firstRow - первая строка, с точки зрения базовой моделиendRow - последняя строка, с точки зрения базовой моделиcolumn - столбец, который изменился, с точки зрения базовой моделиIndexOutOfBoundsException - если любой параметр вне диапазона базовой модели после изменения, firstRow > endRow, или column вне диапазона базовой модели
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92