Spec-Zone.ru › OpenJDK 21

Класс 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.

С момента:
1.2
См. также:
  • ListSelectionModel

Краткое описание полей

Модификатор и тип Поле Описание
protected boolean leadAnchorNotificationEnabled
Включена ли уведомление о ведущем якоре.
protected EventListenerList listenerList
Список слушателей.

Поля, объявленные в интерфейсе javax.swing.ListSelectionModel

MULTIPLE_INTERVAL_SELECTION, SINGLE_INTERVAL_SELECTION, SINGLE_SELECTION

Краткое описание конструкторов

Конструктор Описание
DefaultListSelectionModel()
Создаёт 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)
Уведомляет ListSelectionListeners о том, что значение выбора в замкнутом интервале firstIndex, lastIndex изменилось и является ли это последним изменением в серии изменений.
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

Методы, объявленные в интерфейсе javax.swing.ListSelectionModel

getSelectedIndices, getSelectedItemsCount

Подробное описание полей

listenerList

protected EventListenerList listenerList
Список слушателей.

leadAnchorNotificationEnabled

protected boolean leadAnchorNotificationEnabled
Включена ли уведомление об якоре выбора.

Подробное описание конструкторов

DefaultListSelectionModel

public DefaultListSelectionModel()
Создаёт DefaultListSelectionModel.

Подробное описание методов

getMinSelectionIndex

public int getMinSelectionIndex()
Возвращает индекс первого выбранного элемента или -1, если выбор пуст.
Определено в:
getMinSelectionIndex в интерфейсе ListSelectionModel
Возвращает:
индекс первого выбранного элемента или -1, если выбор пуст.

getMaxSelectionIndex

public int getMaxSelectionIndex()
Возвращает индекс последнего выбранного элемента или -1, если выбор пуст.
Определено в:
getMaxSelectionIndex в интерфейсе ListSelectionModel
Возвращает:
индекс последнего выбранного элемента или -1, если выбор пуст.

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
Параметры:
selectionMode - режим выбора
Исключения:
IllegalArgumentException - если режим выбора не является допустимым
См. также:
  • ListSelectionModel.getSelectionMode()

isSelectedIndex

public boolean isSelectedIndex(int index)
Возвращает true, если указанный индекс выбран.
Определено в:
isSelectedIndex в интерфейсе ListSelectionModel
Параметры:
index - индекс
Возвращает:
true если указанный индекс выбран

isSelectionEmpty

public boolean isSelectionEmpty()
Возвращает true, если индексы не выбраны.
Определено в:
isSelectionEmpty в интерфейсе ListSelectionModel
Возвращает:
true если индексы не выбраны.

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)
Уведомляет слушателей о завершении серии изменений.
Параметры:
isAdjusting - true, если это последнее изменение в серии

fireValueChanged

protected void fireValueChanged(int firstIndex, int lastIndex)
Уведомляет ListSelectionListeners о том, что значение выбора в замкнутом интервале firstIndex, lastIndex, изменилось.
Параметры:
firstIndex - первый индекс в интервале
lastIndex - последний индекс в интервале

fireValueChanged

protected void fireValueChanged(int firstIndex, int lastIndex, boolean isAdjusting)
Уведомляет ListSelectionListeners о том, что значение выбора в замкнутом интервале firstIndex, lastIndex, изменилось, а также о том, является ли это последним изменением в серии.
Параметры:
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));
Если таких слушателей нет, метод возвращает пустой массив.
Тип параметров:
T - тип класса EventListener
Параметры:
listenerType - тип запрашиваемых слушателей; этот параметр должен указывать интерфейс, унаследованный от java.util.EventListener
Возвращает:
массив всех объектов, зарегистрированных как FooListener для этой модели, или пустой массив, если такие слушатели не были добавлены
Исключения:
ClassCastException - если listenerType не указывает класс или интерфейс, реализующий java.util.EventListener
С момента:
1.3
См. также:
  • getListSelectionListeners()

setLeadAnchorNotificationEnabled

public void setLeadAnchorNotificationEnabled(boolean flag)
Устанавливает значение флага leadAnchorNotificationEnabled.
Параметры:
flag - булево значение для leadAnchorNotificationEnabled
См. также:
  • isLeadAnchorNotificationEnabled()

isLeadAnchorNotificationEnabled

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

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

Returns:
значение флага 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
Параметры:
index - начало интервала
length - длина интервала
before - если true, интервал вставляется перед index, в противном случае интервал вставляется после index
Исключения:
IndexOutOfBoundsException - если любой из index или length отрицателен

removeIndexInterval

public void removeIndexInterval(int index0, int index1)
Удаление индексов в интервале index0,index1 (включительно) из модели выбора. Это обычно вызывается для синхронизации модели выбора со соответствующим изменением в модели данных. Обратите внимание, что (как всегда) index0 не обязательно должно быть меньше или равно index1.
Определено в:
removeIndexInterval в интерфейсе ListSelectionModel
Параметры:
index0 - начало интервала
index1 - конец интервала
Исключения:
IndexOutOfBoundsException - если любой из индексов отрицателен

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

Индекс якорного выделения

public int getAnchorSelectionIndex()
Возвращает первый индекс аргумента из последнего вызова setSelectionInterval(), addSelectionInterval() или removeSelectionInterval(). Последний индекс 0 считается «якорем», а последний индекс 1 — «ведущим». Некоторые интерфейсы отображают эти индексы особым образом, например, Windows95 отображает ведущий индекс с пунктирной жёлтой рамкой.
Указано в:
getAnchorSelectionIndex в интерфейсе ListSelectionModel
Возвращает:
индекс якорного выделения
См. также:
  • ListSelectionModel.getLeadSelectionIndex()
  • ListSelectionModel.setSelectionInterval(int, int)
  • ListSelectionModel.addSelectionInterval(int, int)

Индекс ведущего выделения

public int getLeadSelectionIndex()
Возвращает второй индекс аргумента из последнего вызова setSelectionInterval(), addSelectionInterval() или removeSelectionInterval().
Указано в:
getLeadSelectionIndex в интерфейсе ListSelectionModel
Возвращает:
индекс ведущего выделения.
См. также:
  • ListSelectionModel.getAnchorSelectionIndex()
  • ListSelectionModel.setSelectionInterval(int, int)
  • ListSelectionModel.addSelectionInterval(int, int)

Установить индекс якорного выделения

public void setAnchorSelectionIndex(int anchorIndex)
Устанавливает индекс якорного выделения, оставляя все значения выделения неизменными. Если leadAnchorNotificationEnabled имеет значение true, отправляет уведомление, охватывающее старые и новые якорные ячейки.
Указано в:
setAnchorSelectionIndex в интерфейсе ListSelectionModel
Параметры:
anchorIndex - индекс якорного выделения
См. также:
  • getAnchorSelectionIndex()
  • setLeadSelectionIndex(int)

Переместить индекс ведущего выделения

public void moveLeadSelectionIndex(int leadIndex)
Устанавливает индекс ведущего выделения, оставляя все значения выделения неизменными. Если leadAnchorNotificationEnabled имеет значение true, отправляет уведомление, охватывающее старые и новые ячейки ведущего.
Параметры:
leadIndex - новый индекс ведущего выделения
С:
1.5
См. также:
  • setAnchorSelectionIndex(int)
  • setLeadSelectionIndex(int)
  • getLeadSelectionIndex()

Установить индекс ведущего выделения

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

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

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

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

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

© 1993, 2023, 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.
https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/swing/DefaultListSelectionModel.html

Spec-Zone.ru

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