Класс DefaultListSelectionModel
- Все реализованные интерфейсы:
-
Serializable,Cloneable,ListSelectionModel
public class DefaultListSelectionModel extends Object implements ListSelectionModel, Cloneable, Serializable
Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими версиями Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или RMI между приложениями, использующими одну и ту же версию Swing. Начиная с версии 1.4, добавлена поддержка долгосрочного хранения всех JavaBeans в пакете java.beans. См. XMLEncoder.
- С:
- 1.2
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected boolean |
leadAnchorNotificationEnabled |
Включена ли уведомление о ведущем якоре. |
protected EventListenerList |
listenerList |
Список слушателей. |
Поля, объявленные в интерфейсе javax.swing.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 |
Возвращает массив всех объектов, зарегистрированных как слушатели выбора в этой модели. |
ListSelectionListener[] |
getListSelectionListeners() |
Возвращает массив всех слушателей выбора списка, зарегистрированных в этой DefaultListSelectionModel. |
int |
getMaxSelectionIndex() |
Возвращает последний выбранный индекс или -1, если выбор пуст. |
int |
getMinSelectionIndex() |
Возвращает первый выбранный индекс или -1, если выбор пуст. |
int |
getSelectionMode() |
Возвращает текущий режим выбора. |
boolean |
getValueIsAdjusting() |
Возвращает true, если выбор находится в процессе серии изменений. |
void |
insertIndexInterval |
Вставка индексов длины, начинающихся до/после индекса. |
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() |
Возвращает строку, отображающую и идентифицирующую свойства этого объекта. |
Методы, объявленные в классе 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()
- Указано в:
-
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.- Возвращает:
- все слушатели выбора списка этой модели или пустой массив, если слушатели выбора списка в настоящее время не зарегистрированы
- С:
- 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)
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
- См. также:
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 генерируемых ListSelectionEvent. Например, если выделение обновляется в ответ на перетаскивание пользователем, это свойство может быть установлено в true при инициации перетаскивания и установлено в false по завершении перетаскивания. Во время перетаскивания прослушиватели получают события со свойством valueIsAdjusting, установленным в true. В конце перетаскивания, когда изменение завершено, прослушиватели получают событие со значением, установленным в false. Прослушиватели могут использовать этот шаблон, если они хотят обновляться только после завершения изменения.
Установка этого свойства в true начинает серию изменений, которые должны считаться частью одного изменения. Когда свойство меняется обратно на false, отправляется событие, характеризующее все изменение выделения (если оно было), со свойством valueIsAdjusting события, установленным в false.
- Указано в:
-
setValueIsAdjustingв интерфейсеListSelectionModel - Параметры:
-
isAdjusting- новое значение свойства - См. также:
toString
clone
public Object clone() throws CloneNotSupportedException
listenerLists не дублируются.- Overrides:
-
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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/DefaultListSelectionModel.html