Класс DefaultListSelectionModel
- Все реализуемые интерфейсы:
Serializable, Cloneable, ListSelectionModel
public class DefaultListSelectionModel extends Object implements ListSelectionModel, Cloneable, Serializable
Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации подходит для кратковременного хранения или обмена данными по RMI между приложениями, использующими одну и ту же версию Swing. Начиная с версии 1.4, в пакет java.beans добавлена поддержка долговременного хранения всех JavaBeans. См. XMLEncoder.
- Начиная с:
- 1.2
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected boolean |
leadAnchorNotificationEnabled |
Указывает, включено ли уведомление о ведущем якоре. |
protected EventListenerList |
listenerList |
Список слушателей. |
Поля, объявленные в интерфейсе ListSelectionModel
MULTIPLE_INTERVAL_SELECTION, SINGLE_INTERVAL_SELECTION, SINGLE_SELECTION
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
DefaultListSelectionModel() |
Создает объект DefaultListSelectionModel. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addListSelectionListener |
Добавляет слушателя в список, который получает уведомление при каждом изменении выделения. |
void |
addSelectionInterval |
Изменяет выделение, объединяя текущее выделение с индексами от index0 до index1 включительно. |
void |
clearSelection() |
Очищает выделение. |
Object |
clone() |
Возвращает копию этой модели выделения с тем же выделением. |
protected void |
fireValueChanged |
Уведомляет слушателей о завершении серии изменений. |
protected void |
fireValueChanged |
Уведомляет ListSelectionListeners об изменении значения выделения в замкнутом интервале firstIndex, lastIndex. |
protected void |
fireValueChanged |
Уведомляет ListSelectionListeners об изменении значения выделения в замкнутом интервале firstIndex, lastIndex, а также сообщает, является ли это изменение последним в серии. |
int |
getAnchorSelectionIndex() |
Возвращает первый аргумент-индекс из последнего вызова setSelectionInterval(), addSelectionInterval() или removeSelectionInterval(). |
int |
getLeadSelectionIndex() |
Возвращает второй аргумент-индекс из последнего вызова setSelectionInterval(), addSelectionInterval() или removeSelectionInterval(). |
<T extends EventListener> |
getListeners |
Возвращает массив всех объектов, зарегистрированных в этой модели как FooListener. |
ListSelectionListener[] |
getListSelectionListeners() |
Возвращает массив всех слушателей выделения списка, зарегистрированных в этой DefaultListSelectionModel. |
int |
getMaxSelectionIndex() |
Возвращает последний выделенный индекс или -1, если выделение пусто. |
int |
getMinSelectionIndex() |
Возвращает первый выделенный индекс или -1, если выделение пусто. |
int |
getSelectionMode() |
Возвращает текущий режим выделения. |
boolean |
getValueIsAdjusting() |
Возвращает true, если в выделении выполняется серия изменений. |
void |
insertIndexInterval |
Вставляет length индексов перед или после указанного индекса. |
boolean |
isLeadAnchorNotificationEnabled() |
Возвращает значение флага leadAnchorNotificationEnabled. |
boolean |
isSelectedIndex |
Возвращает true, если указанный индекс выделен. |
boolean |
isSelectionEmpty() |
Возвращает true, если ни один индекс не выделен. |
void |
moveLeadSelectionIndex |
Устанавливает ведущий индекс выделения, не изменяя значения выделения. |
void |
removeIndexInterval |
Удаляет из модели выделения индексы интервала index0,index1 (включительно). |
void |
removeListSelectionListener |
Удаляет из списка слушателя, который получает уведомление при каждом изменении выделения. |
void |
removeSelectionInterval |
Изменяет выделение, удаляя из него индексы от index0 до index1 включительно. |
void |
setAnchorSelectionIndex |
Устанавливает индекс якоря выделения, не изменяя значения выделения. |
void |
setLeadAnchorNotificationEnabled |
Устанавливает значение флага leadAnchorNotificationEnabled. |
void |
setLeadSelectionIndex |
Устанавливает ведущий индекс выделения, гарантируя, что значения между якорем и новым ведущим индексом либо все выделены, либо все сняты с выделения. |
void |
setSelectionInterval |
Изменяет выделение так, чтобы оно включало индексы от index0 до index1 включительно. |
void |
setSelectionMode |
Устанавливает режим выделения. |
void |
setValueIsAdjusting |
Устанавливает свойство valueIsAdjusting, которое указывает, следует ли считать последующие изменения выделения частью одного изменения. |
String |
toString() |
Возвращает строку, описывающую и идентифицирующую свойства этого объекта. |
Методы, объявленные в классе Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Методы, объявленные в интерфейсе ListSelectionModel
getSelectedIndices, getSelectedItemsCount
Подробное описание полей
listenerList
protected EventListenerList listenerList
leadAnchorNotificationEnabled
protected boolean leadAnchorNotificationEnabled
Подробное описание конструкторов
DefaultListSelectionModel
public DefaultListSelectionModel()
DefaultListSelectionModel.Подробное описание методов
getMinSelectionIndex
public int getMinSelectionIndex()
- Указано в:
-
getMinSelectionIndexв интерфейсеListSelectionModel - Возвращает:
- первый выбранный индекс или -1, если выбор пуст.
getMaxSelectionIndex
public int getMaxSelectionIndex()
- Указано в:
-
getMaxSelectionIndexв интерфейсеListSelectionModel - Возвращает:
- последний выбранный индекс или -1, если выбор пуст.
getValueIsAdjusting
public boolean getValueIsAdjusting()
true, если выбор подвергается серии изменений.- Указано в:
-
getValueIsAdjustingв интерфейсеListSelectionModel - Возвращает:
- true, если выбор подвергается серии изменений
- См. также:
getSelectionMode
public int getSelectionMode()
- Указано в:
-
getSelectionModeв интерфейсеListSelectionModel - Возвращает:
- текущий режим выбора
- См. также:
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— если режим выбора не входит в число допустимых - См. также:
isSelectedIndex
public boolean isSelectedIndex(int index)
- Указано в:
-
isSelectedIndexв интерфейсеListSelectionModel - Параметры:
-
index— индекс - Возвращает:
-
true, если указанный индекс выбран
isSelectionEmpty
public boolean isSelectionEmpty()
- Указано в:
-
isSelectionEmptyв интерфейсеListSelectionModel - Возвращает:
-
true, если не выбрано ни одного индекса.
addListSelectionListener
public void addListSelectionListener(ListSelectionListener l)
- Указано в:
-
addListSelectionListenerв интерфейсеListSelectionModel - Параметры:
-
l— ListSelectionListener - См. также:
removeListSelectionListener
public void removeListSelectionListener(ListSelectionListener l)
- Указано в:
-
removeListSelectionListenerв интерфейсеListSelectionModel - Параметры:
-
l— ListSelectionListener - См. также:
getListSelectionListeners
public ListSelectionListener[] getListSelectionListeners()
DefaultListSelectionModel.- Возвращает:
- все
ListSelectionListeners этой модели или пустой массив, если в данный момент не зарегистрировано ни одного слушателя выбора списка - С момента версии:
- 1.4
- См. также:
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, если это последнее изменение в серии - См. также:
getListeners
public <T extends EventListener> T[] getListeners(Class<T> listenerType)
FooListeners. FooListeners регистрируются с помощью метода addFooListener. В качестве аргумента listenerType можно указать литерал класса, например FooListener.class. Например, можно запросить у экземпляра DefaultListSelectionModel m список слушателей выбора списка следующим образом:
ListSelectionListener[] lsls = (ListSelectionListener[])(m.getListeners(ListSelectionListener.class));Если таких слушателей нет, этот метод возвращает пустой массив.
- Параметры типа:
T— тип запрашиваемого классаEventListener- Параметры:
-
listenerType— тип запрашиваемых слушателей; этот параметр должен указывать интерфейс, производный отjava.util.EventListener - Возвращает:
- массив всех объектов, зарегистрированных в этой модели в качестве
FooListeners, или пустой массив, если такие слушатели не добавлены - Вызывает исключение:
-
ClassCastException— еслиlistenerTypeне указывает класс или интерфейс, реализующийjava.util.EventListener - С момента версии:
- 1.3
- См. также:
setLeadAnchorNotificationEnabled
public void setLeadAnchorNotificationEnabled(boolean flag)
- Параметры:
-
flag— логическое значение дляleadAnchorNotificationEnabled - См. также:
isLeadAnchorNotificationEnabled
public boolean isLeadAnchorNotificationEnabled()
leadAnchorNotificationEnabled. Если leadAnchorNotificationEnabled имеет значение true, модель генерирует события уведомления с границами, охватывающими все изменения выбора, а также изменения ведущего и опорного индексов. Если задать флагу значение false, границы события сужаются и включают только элементы, выбранные или снятые с выбора после последнего изменения. В любом случае модель продолжает хранить переменные ведущего и опорного индексов внутри себя. Значение по умолчанию — true. Примечание. Ведущий или опорный индекс может измениться без изменения выбора. Уведомление об этих изменениях часто важно, например, когда в представлении нужно обновить новый ведущий или опорный индекс. Поэтому рекомендуется соблюдать осторожность при изменении значения по умолчанию.
- Возвращает:
- значение флага
leadAnchorNotificationEnabled - См. также:
clearSelection
public void clearSelection()
- Указано в:
-
clearSelectionв интерфейсеListSelectionModel - См. также:
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) - См. также:
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) - См. также:
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) - См. также:
insertIndexInterval
public void insertIndexInterval(int index, int length, boolean before)
- Указано в:
-
insertIndexIntervalв интерфейсеListSelectionModel - Параметры:
-
index— начало интервала -
length— длина интервала -
before— еслиtrue, интервал вставляется передindex, иначе интервал вставляется послеindex - Вызывает исключение:
-
IndexOutOfBoundsException— еслиindexилиlengthотрицательно
removeIndexInterval
public void removeIndexInterval(int index0, int index1)
- Указано в:
-
removeIndexIntervalв интерфейсеListSelectionModel - Параметры:
-
index0— начало интервала -
index1— конец интервала - Вызывает исключение:
-
IndexOutOfBoundsException— если любой из индексов отрицателен
setValueIsAdjusting
public void setValueIsAdjusting(boolean isAdjusting)
valueIsAdjusting, указывающее, следует ли считать предстоящие изменения выбора частью одного изменения. Значение этого свойства используется для инициализации свойства valueIsAdjusting у создаваемых ListSelectionEvents. Например, если выбор обновляется в ответ на перетаскивание пользователем, этому свойству можно задать значение true при начале перетаскивания и false по его завершении. Во время перетаскивания слушатели получают события со свойством valueIsAdjusting, равным true. По окончании перетаскивания, когда изменение завершено, слушатели получают событие со значением false. Слушатели могут использовать этот шаблон, если им нужно обновлять состояние только после завершения изменения.
Установка этому свойству значения true начинает серию изменений, которая должна считаться одним изменением. Когда свойство снова получает значение false, отправляется событие, описывающее изменение всего выбора (если оно было), причем свойству valueIsAdjusting этого события присваивается значение false.
- Указано в:
-
setValueIsAdjustingв интерфейсеListSelectionModel - Параметры:
-
isAdjusting— новое значение свойства - См. также:
toString
clone
public Object clone() throws CloneNotSupportedException
listenerLists не дублируются.- Переопределяет:
-
cloneв классеObject - Возвращает:
- копию этого экземпляра.
- Вызывает исключение:
-
CloneNotSupportedException— если модель выбора не реализует интерфейс Cloneable и не определяет методclone. - См. также:
getAnchorSelectionIndex
public int getAnchorSelectionIndex()
- Указано в:
-
getAnchorSelectionIndexв интерфейсеListSelectionModel - Возвращает:
- опорный индекс выбора
- См. также:
getLeadSelectionIndex
public int getLeadSelectionIndex()
- Указано в:
-
getLeadSelectionIndexв интерфейсеListSelectionModel - Возвращает:
- ведущий индекс выбора.
- См. также:
setAnchorSelectionIndex
public void setAnchorSelectionIndex(int anchorIndex)
- Указано в:
-
setAnchorSelectionIndexв интерфейсеListSelectionModel - Параметры:
-
anchorIndex— опорный индекс выбора - См. также:
moveLeadSelectionIndex
public void moveLeadSelectionIndex(int leadIndex)
- Параметры:
-
leadIndex— новый ведущий индекс выбора - С момента версии:
- 1.5
- См. также:
setLeadSelectionIndex
public void setLeadSelectionIndex(int leadIndex)
Если значение по опорному индексу не выбрано, выполняет те же действия в обратном порядке: выбирает значения в старом диапазоне и снимает выбор со значений в новом.
Генерирует для этого изменения одно событие и уведомляет всех слушателей. Чтобы задать в этом событии минимальные границы, выполняет операцию за один проход; таким образом, первый и последний индексы в рассылаемом ListSelectionEvent будут указывать на ячейки, значения которых действительно изменились в результате вызова этого метода. Если бы операция выполнялась в два этапа, состояние выбора осталось бы тем же, но были бы сгенерированы два события, а границы измененных значений оказались бы шире и включали бы ячейки, выбор с которых сначала сняли, а затем восстановили.
Этот метод можно использовать в методе mouseDragged класса пользовательского интерфейса для расширения выбора.
- Указано в:
-
setLeadSelectionIndexв интерфейсеListSelectionModel - Параметры:
-
leadIndex— ведущий индекс выбора - См. также:
© 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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/DefaultListSelectionModel.html