Класс 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 |
Возвращает массив всех объектов, зарегистрированных в качестве FooListener в этой модели. |
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.- Возвращает:
- все слушатели этого объекта
ListSelectionListenerили пустой массив, если слушатели выбора элементов не зарегистрированы - С момента:
- 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 для этой модели. 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. Примечание: возможно изменение ведущего или якоря без изменения выбора. Уведомление об этих изменениях часто важно, например, когда необходимо обновить новый ведущий или якорь в представлении. Поэтому следует проявлять осторожность при изменении значения по умолчанию.
- Returns:
- значение флага
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
public String toString()
- Переопределяет:
-
toStringв классеObject - Возвращает:
- представление этого объекта в виде строки
clone
public Object clone() throws CloneNotSupportedException
listenerLists не дублируются.- Переопределяет:
-
cloneв классеObject - Возвращает:
- клон этого экземпляра.
- Исключения:
-
CloneNotSupportedException- если модель выбора не реализует интерфейс Cloneable и не определяет методclone. - См. также:
Индекс якорного выделения
public int getAnchorSelectionIndex()
- Указано в:
-
getAnchorSelectionIndexв интерфейсеListSelectionModel - Возвращает:
- индекс якорного выделения
- См. также:
Индекс ведущего выделения
public int getLeadSelectionIndex()
- Указано в:
-
getLeadSelectionIndexв интерфейсеListSelectionModel - Возвращает:
- индекс ведущего выделения.
- См. также:
Установить индекс якорного выделения
public void setAnchorSelectionIndex(int anchorIndex)
- Указано в:
-
setAnchorSelectionIndexв интерфейсеListSelectionModel - Параметры:
-
anchorIndex- индекс якорного выделения - См. также:
Переместить индекс ведущего выделения
public void moveLeadSelectionIndex(int leadIndex)
- Параметры:
-
leadIndex- новый индекс ведущего выделения - С:
- 1.5
- См. также:
Установить индекс ведущего выделения
public void setLeadSelectionIndex(int leadIndex)
Если значение в индексе якоря не выбрано, выполнить то же действие в обратном порядке, выбирая значения в старом диапазоне и отменяя выбор значений в новом диапазоне.
Генерирует одно событие для этого изменения и уведомляет всех слушателей. Для целей генерации минимальных границ в этом событии выполните операцию за один проход; таким образом, первый и последний индекс внутри ListSelectionEvent, который передается, будут ссылаться на ячейки, которые фактически изменили значение из-за этого метода. Если бы эта операция выполнялась в два этапа, то эффект на состояние выделения был бы тем же, но генерировались бы два события, и границы вокруг измененных значений были бы шире, включая ячейки, которые были сначала очищены, а затем позже установлены.
Этот метод можно использовать в методе mouseDragged класса UI для расширения выделения.
- Указано в:
-
setLeadSelectionIndexв интерфейсеListSelectionModel - Параметры:
-
leadIndex- индекс ведущего выделения - См. также:
© 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