Spec-Zone.ru › OpenJDK 8

Класс DefaultListSelectionModel

  • java.lang.Object
    • javax.swing.DefaultListSelectionModel
Все реализованные интерфейсы:
Serializable, Cloneable, ListSelectionModel

public class DefaultListSelectionModel
extends Object
implements ListSelectionModel, Cloneable, Serializable

Модель данных по умолчанию для выбора элементов списка.

Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими версиями Swing. Текущая поддержка сериализации подходит для кратковременного хранения или RMI между приложениями, использующими одну и ту же версию Swing. Начиная с версии 1.4, поддержка долгосрочного хранения всех JavaBeans™ была добавлена в пакет java.beans. Пожалуйста, обратитесь к XMLEncoder.

См. также:
ListSelectionModel

Поля

Модификатор и тип Поле и описание
protected boolean leadAnchorNotificationEnabled
protected EventListenerList listenerList

Поля, унаследованные от интерфейса javax.swing.ListSelectionModel

MULTIPLE_INTERVAL_SELECTION, SINGLE_INTERVAL_SELECTION, SINGLE_SELECTION

Конструкторы

Конструктор и описание
DefaultListSelectionModel()

Методы

Модификатор и тип Метод и описание
void addListSelectionListener(ListSelectionListener l)

Добавить слушателя списка, который уведомляется каждый раз при изменении выбора.

void addSelectionInterval(int index0, int index1)

Изменяет выбор, чтобы он стал объединением текущего выбора и индексов между index0 и index1 включительно.

void clearSelection()

Изменяет выбор на пустой набор.

Object clone()

Возвращает клон этой модели выбора с тем же выбором.

protected void fireValueChanged(boolean isAdjusting)

Уведомляет слушателей о завершении серии корректировок.

protected void fireValueChanged(int firstIndex, int lastIndex)

Уведомляет ListSelectionListeners о том, что значение выбора в замкнутом интервале firstIndex, lastIndex изменилось.

protected void fireValueChanged(int firstIndex, int lastIndex, boolean isAdjusting)
int getAnchorSelectionIndex()

Возвращает первый индексный аргумент из последнего вызова setSelectionInterval(), addSelectionInterval() или removeSelectionInterval().

int getLeadSelectionIndex()

Возвращает второй индексный аргумент из последнего вызова setSelectionInterval(), addSelectionInterval() или removeSelectionInterval().

<T extends EventListener>
T[]
getListeners(Class<T> listenerType)

Возвращает массив всех объектов, в данный момент зарегистрированных в качестве FooListener в этой модели.

ListSelectionListener[] getListSelectionListeners()

Возвращает массив всех слушателей выбора списка, зарегистрированных в этой DefaultListSelectionModel.

int getMaxSelectionIndex()

Возвращает последний выбранный индекс или -1, если выбор пустой.

int getMinSelectionIndex()

Возвращает первый выбранный индекс или -1, если выбор пустой.

int getSelectionMode()

Возвращает текущий режим выбора.

boolean getValueIsAdjusting()

Возвращает true, если выбор проходит серию изменений.

void insertIndexInterval(int index, int length, boolean before)

Вставка индексов длины перед/после индекса.

boolean isLeadAnchorNotificationEnabled()

Возвращает значение флага leadAnchorNotificationEnabled.

boolean isSelectedIndex(int index)

Возвращает true, если указанный индекс выбран.

boolean isSelectionEmpty()

Возвращает true, если индексы не выбраны.

void moveLeadSelectionIndex(int leadIndex)

Устанавливает ведущий индекс выбора, оставляя все значения выбора неизменными.

void removeIndexInterval(int index0, int index1)

Удаляет индексы в интервале index0,index1 (включительно) из модели выбора.

void removeListSelectionListener(ListSelectionListener l)

Удалить слушателя из списка, который уведомляется каждый раз при изменении выбора.

void removeSelectionInterval(int index0, int index1)

Изменяет выбор, чтобы он стал разностью текущего выбора и индексов между index0 и index1 включительно.

void setAnchorSelectionIndex(int anchorIndex)

Устанавливает индекс якоря выбора, оставляя все значения выбора неизменными.

void setLeadAnchorNotificationEnabled(boolean flag)

Устанавливает значение флага leadAnchorNotificationEnabled.

void setLeadSelectionIndex(int leadIndex)

Устанавливает ведущий индекс выбора, гарантируя, что значения между якорем и новым ведущим либо все выбраны, либо все не выбраны.

void setSelectionInterval(int index0, int index1)

Изменяет выбор на значения между index0 и index1 включительно.

void setSelectionMode(int selectionMode)

Устанавливает режим выбора.

void setValueIsAdjusting(boolean isAdjusting)

Устанавливает свойство valueIsAdjusting, которое указывает, следует ли рассматривать предстоящие изменения выбора как часть одного изменения.

String toString()

Возвращает строку, отображающую и идентифицирующую свойства этого объекта.

Методы, унаследованные от класса java.lang.Object

equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Поля

listenerList

protected EventListenerList listenerList

leadAnchorNotificationEnabled

protected boolean leadAnchorNotificationEnabled

Конструкторы

DefaultListSelectionModel

public DefaultListSelectionModel()

Методы

getMinSelectionIndex

public int getMinSelectionIndex()

Возвращает первый выбранный индекс или -1, если выбор пуст.

Указано:
getMinSelectionIndex в интерфейсе ListSelectionModel

getMaxSelectionIndex

public int getMaxSelectionIndex()

Возвращает последний выбранный индекс или -1, если выбор пуст.

Указано:
getMaxSelectionIndex в интерфейсе ListSelectionModel

getValueIsAdjusting

public boolean getValueIsAdjusting()

Возвращает true, если выбор изменяется последовательно.

Указано:
getValueIsAdjusting в интерфейсе ListSelectionModel
Возвращает:
true, если выбор изменяется последовательно
См. также:
ListSelectionModel.setValueIsAdjusting(boolean)

getSelectionMode

public int getSelectionMode()

Возвращает текущий режим выбора.

Указано:
getSelectionMode в интерфейсе ListSelectionModel
Возвращает:
текущий режим выбора
См. также:
ListSelectionModel.setSelectionMode(int)

setSelectionMode

public void setSelectionMode(int selectionMode)

Устанавливает режим выбора. Следующий список описывает допустимые режимы выбора:

  • ListSelectionModel.SINGLE_SELECTION - Одновременно можно выбрать только один индекс списка. В этом режиме setSelectionInterval и addSelectionInterval эквивалентны, оба заменяют текущий выбор индексом, представленным вторым аргументом (лидирующим).
  • ListSelectionModel.SINGLE_INTERVAL_SELECTION - Одновременно можно выбрать только один непрерывный интервал. В этом режиме addSelectionInterval ведет себя как setSelectionInterval (заменяя текущий выбор), если заданный интервал непосредственно примыкает к существующему выбору или перекрывает его и, таким образом, может быть использован для его расширения.
  • ListSelectionModel.MULTIPLE_INTERVAL_SELECTION - В этом режиме нет ограничений на выбор.

Указано:
setSelectionMode в интерфейсе ListSelectionModel
Исключения:
IllegalArgumentException - если режим выбора не является допустимым
См. также:
ListSelectionModel.getSelectionMode()

isSelectedIndex

public boolean isSelectedIndex(int index)

Возвращает true, если указанный индекс выбран.

Указано:
isSelectedIndex в интерфейсе ListSelectionModel

isSelectionEmpty

public boolean isSelectionEmpty()

Возвращает true, если индексы не выбраны.

Указано:
isSelectionEmpty в интерфейсе ListSelectionModel

addListSelectionListener

public void addListSelectionListener(ListSelectionListener l)

Добавляет слушателя в список, который уведомляется каждый раз при изменении выбора.

Указано:
addListSelectionListener в интерфейсе ListSelectionModel
Параметры:
l - ListSelectionListener
См. также:
ListSelectionModel.removeListSelectionListener(javax.swing.event.ListSelectionListener), ListSelectionModel.setSelectionInterval(int, int), ListSelectionModel.addSelectionInterval(int, int), ListSelectionModel.removeSelectionInterval(int, int), ListSelectionModel.clearSelection(), ListSelectionModel.insertIndexInterval(int, int, boolean), ListSelectionModel.removeIndexInterval(int, int)

removeListSelectionListener

public void removeListSelectionListener(ListSelectionListener l)

Удаляет слушателя из списка, который уведомляется каждый раз при изменении выбора.

Указано:
removeListSelectionListener в интерфейсе ListSelectionModel
Параметры:
l - ListSelectionListener
См. также:
ListSelectionModel.addListSelectionListener(javax.swing.event.ListSelectionListener)

getListSelectionListeners

public ListSelectionListener[] getListSelectionListeners()

Возвращает массив всех слушателей выбора списка, зарегистрированных на этом DefaultListSelectionModel.

Возвращает:
все слушатели этого объекта ListSelectionListener или пустой массив, если слушатели выбора списка не зарегистрированы
С момента:
1.4
См. также:
addListSelectionListener(javax.swing.event.ListSelectionListener), removeListSelectionListener(javax.swing.event.ListSelectionListener)

fireValueChanged

protected void fireValueChanged(boolean isAdjusting)

Уведомляет слушателей о завершении серии корректировок.

fireValueChanged

protected void fireValueChanged(int firstIndex,
                                int lastIndex)

Уведомляет ListSelectionListeners о том, что значение выбора в закрытом интервале firstIndex, lastIndex изменилось.

fireValueChanged

protected void fireValueChanged(int firstIndex,
                                int lastIndex,
                                boolean isAdjusting)
Параметры:
firstIndex - первый индекс в интервале
lastIndex - последний индекс в интервале
isAdjusting - true, если это последнее изменение в серии корректировок
См. также:
EventListenerList

getListeners

public <T extends EventListener> T[] getListeners(Class<T> listenerType)

Возвращает массив всех объектов, зарегистрированных в качестве FooListener на данном объекте модели. FooListener регистрируются с помощью метода addFooListener.

Вы можете указать аргумент listenerType с помощью литерала класса, например, FooListener.class. Например, вы можете запросить у объекта DefaultListSelectionModel слушателей выбора списка следующим кодом:

ListSelectionListener[] lsls = (ListSelectionListener[])(m.getListeners(ListSelectionListener.class));
Если таких слушателей нет, этот метод возвращает пустой массив.
Параметры:
listenerType - тип запрашиваемых слушателей; этот параметр должен указать интерфейс, унаследованный от java.util.EventListener
Возвращает:
массив всех объектов, зарегистрированных как FooListener на этой модели, или пустой массив, если такие слушатели не были добавлены
Исключения:
ClassCastException - если listenerType не указывает класс или интерфейс, реализующий java.util.EventListener
С момента:
1.3
См. также:
getListSelectionListeners()

setLeadAnchorNotificationEnabled

public void setLeadAnchorNotificationEnabled(boolean flag)

Устанавливает значение флага leadAnchorNotificationEnabled.

См. также:
isLeadAnchorNotificationEnabled()

isLeadAnchorNotificationEnabled

public boolean isLeadAnchorNotificationEnabled()

Возвращает значение флага leadAnchorNotificationEnabled. Когда leadAnchorNotificationEnabled равно true, модель генерирует события уведомления с границами, которые охватывают все изменения в выборе, а также изменения лидирующего и якорного индексов. Установка флага в значение false приводит к сужению границ события, чтобы они включали только те элементы, которые были выбраны или сняты с выбора с момента последнего изменения. В любом случае модель продолжает поддерживать переменные lead и anchor внутри. Значение по умолчанию равно true.

Примечание: возможно изменение лидирующего или якорного значения без изменения выбора. Уведомление об этих изменениях часто важно, например, когда новое лидирующее или якорное значение необходимо обновить в представлении. Поэтому рекомендуется быть осторожными при изменении значения по умолчанию.

Возвращает:
значение флага leadAnchorNotificationEnabled
См. также:
setLeadAnchorNotificationEnabled(boolean)

clearSelection

public void clearSelection()

Изменяет выбор на пустое множество. Если это изменение текущего выбора, то уведомляются все ListSelectionListener.

Указано:
clearSelection в интерфейсе ListSelectionModel
См. также:
ListSelectionModel.addListSelectionListener(javax.swing.event.ListSelectionListener)

setSelectionInterval

public void setSelectionInterval(int index0,
                                 int index1)

Изменяет выбор, чтобы он находился между index0 и index1 включительно. index0 не обязательно должно быть меньше или равно index1.

В режиме выбора SINGLE_SELECTION используется только второй индекс.

Если это изменение текущего выбора, то каждый ListSelectionListener получает уведомление об изменении.

Если любой из индексов равен -1, этот метод ничего не делает и возвращается без исключения. В противном случае, если любой из индексов меньше -1, выбрасывается IndexOutOfBoundsException.

Указано:
setSelectionInterval в интерфейсе ListSelectionModel
Параметры:
index0 - один конец интервала.
index1 - другой конец интервала
Исключения:
IndexOutOfBoundsException - если любой индекс меньше -1 (и ни один индекс не равен -1)
См. также:
addListSelectionListener(javax.swing.event.ListSelectionListener)

addSelectionInterval

public void addSelectionInterval(int index0,
                                 int index1)

Изменяет выделение так, чтобы оно стало объединением текущего выделения и индексов между index0 и index1 включительно.

В режиме выделения SINGLE_SELECTION, это эквивалентно вызову setSelectionInterval, и используется только второй индекс. В режиме выделения SINGLE_INTERVAL_SELECTION, этот метод ведет себя как setSelectionInterval, если только заданный интервал не примыкает непосредственно к существующему выделению или не перекрывается с ним, и поэтому может быть использован для его расширения.

Если это изменение текущего выделения, то каждый ListSelectionListener получает уведомление об изменении. Обратите внимание, что index0 не обязательно должно быть меньше или равно index1.

Если любой из индексов равен -1, этот метод ничего не делает и возвращается без исключения. В противном случае, если любой из индексов меньше -1, выбрасывается IndexOutOfBoundsException.

Определено в:
addSelectionInterval в интерфейсе ListSelectionModel
Параметры:
index0 - одна граница интервала.
index1 - другая граница интервала
Исключения:
IndexOutOfBoundsException - если любой из индексов меньше -1 (и ни один из индексов не равен -1)
См. также:
addListSelectionListener(javax.swing.event.ListSelectionListener), setSelectionInterval(int, int)

removeSelectionInterval

public void removeSelectionInterval(int index0,
                                    int index1)

Изменяет выделение, чтобы оно стало разностью текущего выделения и индексов между index0 и index1 включительно. index0 не обязательно должно быть меньше или равно index1.

В режиме выделения SINGLE_INTERVAL_SELECTION, если удаление приведет к образованию двух непересекающихся выделений, удаление распространяется до большей границы выделения. Например, если выделение равно 0-10, и вы задаете индексы 5,6 (в любом порядке), результирующее выделение равно 0-4.

Если это изменение текущего выделения, то каждый ListSelectionListener получает уведомление об изменении.

Если любой из индексов равен -1, этот метод ничего не делает и возвращается без исключения. В противном случае, если любой из индексов меньше -1, выбрасывается IndexOutOfBoundsException.

Определено в:
removeSelectionInterval в интерфейсе ListSelectionModel
Параметры:
index0 - одна граница интервала
index1 - другая граница интервала
Исключения:
IndexOutOfBoundsException - если любой из индексов меньше -1 (и ни один из индексов не равен -1)
См. также:
addListSelectionListener(javax.swing.event.ListSelectionListener)

insertIndexInterval

public void insertIndexInterval(int index,
                                int length,
                                boolean before)

Вставляет индексы длины, начиная перед/после индекса. Если значение по индексу само по себе выделено, а режим выбора не SINGLE_SELECTION, все вновь вставленные элементы устанавливаются как выделенные. В противном случае они остаются невыделенными. Этот метод обычно вызывается для синхронизации модели выделения с соответствующим изменением в модели данных.

Определено в:
insertIndexInterval в интерфейсе ListSelectionModel

removeIndexInterval

public void removeIndexInterval(int index0,
                                int index1)

Удаляет индексы в интервале index0,index1 (включительно) из модели выделения. Это обычно вызывается для синхронизации модели выделения с соответствующим изменением в модели данных. Обратите внимание, что (как всегда) index0 не обязательно должно быть <= index1.

Определено в:
removeIndexInterval в интерфейсе ListSelectionModel

setValueIsAdjusting

public void setValueIsAdjusting(boolean isAdjusting)

Устанавливает свойство valueIsAdjusting, которое указывает, рассматриваются ли предстоящие изменения выделения как часть одного изменения. Значение этого свойства используется для инициализации свойства valueIsAdjusting сгенерированных ListSelectionEvent.

Например, если выделение обновляется в ответ на перетаскивание пользователем, это свойство может быть установлено в true при начале перетаскивания и установлено в false при завершении перетаскивания. Во время перетаскивания слушатели получают события с установленным свойством valueIsAdjusting в true. В конце перетаскивания, когда изменение завершено, слушатели получают событие со значением, установленным в false. Слушатели могут использовать эту схему, если хотят обновляться только при завершении изменения.

Установка этого свойства в true запускает серию изменений, которые нужно рассматривать как часть одного изменения. При изменении свойства обратно в false, отправляется событие, характеризующее все изменение выделения (если оно было), с установленным свойством события valueIsAdjusting в значение false.

Определено в:
setValueIsAdjusting в интерфейсе ListSelectionModel
Параметры:
isAdjusting - новое значение свойства
См. также:
ListSelectionModel.getValueIsAdjusting(), ListSelectionEvent.getValueIsAdjusting()

toString

public String toString()

Возвращает строку, отображающую и идентифицирующую свойства этого объекта.

Переопределяет:
toString в классе Object
Возвращает:
представление этого объекта в виде строки

clone

public Object clone()
             throws CloneNotSupportedException

Возвращает копию этой модели выделения с тем же выделением. listenerLists не дублируются.

Переопределяет:
clone в классе Object
Возвращает:
копию этого экземпляра.
Исключения:
CloneNotSupportedException - если модель выделения не (а) реализует интерфейс Cloneable и (б) определяет метод clone.
См. также:
Cloneable

getAnchorSelectionIndex

public int getAnchorSelectionIndex()

Возвращает первый индекс аргумента из последнего вызова setSelectionInterval(), addSelectionInterval() или removeSelectionInterval(). Последний index0 считается «якорем», а последний index1 — «лидирующим». Некоторые интерфейсы отображают эти индексы особо, например, Windows95 отображает лидирующий индекс с пунктирной желтой окантовкой.

Определено в:
getAnchorSelectionIndex в интерфейсе ListSelectionModel
См. также:
ListSelectionModel.getLeadSelectionIndex(), ListSelectionModel.setSelectionInterval(int, int), ListSelectionModel.addSelectionInterval(int, int)

getLeadSelectionIndex

public int getLeadSelectionIndex()

Возвращает второй индекс аргумента из последнего вызова setSelectionInterval(), addSelectionInterval() или removeSelectionInterval().

Определено в:
getLeadSelectionIndex в интерфейсе ListSelectionModel
См. также:
ListSelectionModel.getAnchorSelectionIndex(), ListSelectionModel.setSelectionInterval(int, int), ListSelectionModel.addSelectionInterval(int, int)

setAnchorSelectionIndex

public void setAnchorSelectionIndex(int anchorIndex)

Устанавливает индекс якоря выделения, оставляя все значения выделения неизменными. Если leadAnchorNotificationEnabled равен true, отправляется уведомление, охватывающее старые и новые якорные ячейки.

Определено в:
setAnchorSelectionIndex в интерфейсе ListSelectionModel
См. также:
getAnchorSelectionIndex(), setLeadSelectionIndex(int)

moveLeadSelectionIndex

public void moveLeadSelectionIndex(int leadIndex)

Устанавливает индекс ведущего выделения, оставляя все значения выделения неизменными. Если leadAnchorNotificationEnabled равен true, отправляется уведомление, охватывающее старые и новые ячейки лидера.

Параметры:
leadIndex - новый индекс ведущего выделения
С:
1.5
См. также:
setAnchorSelectionIndex(int), setLeadSelectionIndex(int), getLeadSelectionIndex()

setLeadSelectionIndex

public void setLeadSelectionIndex(int leadIndex)

Устанавливает индекс ведущего выделения, гарантируя, что значения между якорем и новым лидером либо все выделены, либо все не выделены. Если значение по индексу якоря выделено, сначала очищается все значения в диапазоне [якорь, старый индекс лидера], затем выбираются все значения в диапазоне [якорь, новый индекс лидера], где старый индекс лидера — старый индекс лидера, а новый индекс лидера — новый.

Если значение по индексу якоря не выделено, то выполняется то же самое, но в обратном порядке, выбирая значения в старом диапазоне и убирая выделение из значений в новом диапазоне.

Генерируется одно событие для этого изменения и уведомляются все слушатели. Для целей генерации минимальных границ в этом событии операция выполняется за один проход; таким образом, первый и последний индекс в событии ListSelectionEvent, которое транслируется, относятся к ячейкам, которые фактически изменили значение из-за этого метода. Если бы эта операция выполнялась в два этапа, эффект на состояние выделения был бы тот же, но генерировалось бы два события, и границы вокруг измененных значений были бы шире, включая ячейки, которые были сначала очищены, а затем позже установлены.

Этот метод может быть использован в методе mouseDragged класса UI для расширения выделения.

Определено в:
setLeadSelectionIndex в интерфейсе ListSelectionModel
См. также:
getLeadSelectionIndex(), setAnchorSelectionIndex(int)

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API