Spec-Zone.ru › OpenJDK 24

Класс 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)
Возвращает массив всех объектов, зарегистрированных как слушатели выбора в этой модели.
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.
Возвращает:
все слушатели выбора списка этой модели или пустой массив, если слушатели выбора списка в настоящее время не зарегистрированы
С:
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 в этой модели. Слушатели регистрируются с помощью метода 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.

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

Возвращает:
значение флага 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)
Вставляет length индексов, начинающихся до/после индекса. Если значение по индексу само по себе выбрано, и режим выделения не является 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
Возвращает:
String представление этого объекта

clone

public Object clone() throws CloneNotSupportedException
Возвращает клон этой модели выбора с тем же выбором. listenerLists не дублируются.
Overrides:
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
Параметры:
anchorIndex - индекс якоря выбора
См. также:
  • 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 класса пользовательского интерфейса для расширения выбора.

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

© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/DefaultListSelectionModel.html

Spec-Zone.ru

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