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

Методы

Модификатор и тип Метод Описание
void addSelectionInterval​(int index0, int index1)

Изменяет выбор так, чтобы он стал объединением текущего выбора и индексов между index0 и index1 включительно.

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)
<T extends EventListener>
T[]
getListeners​(Class<T> listenerType)

Возвращает массив всех объектов, зарегистрированных в качестве FooListener в данной модели.

ListSelectionListener[] getListSelectionListeners()

Возвращает массив всех слушателей выбора списка, зарегистрированных в данной DefaultListSelectionModel.

void insertIndexInterval​(int index, int length, boolean before)

Вставка индексов длины, начинающихся перед/после индекса.

boolean isLeadAnchorNotificationEnabled()

Возвращает значение флага leadAnchorNotificationEnabled.

void moveLeadSelectionIndex​(int leadIndex)

Устанавливает индекс ведущего элемента выбора, оставляя все значения выбора неизменными.

void removeIndexInterval​(int index0, int index1)

Удаляет индексы в интервале index0,index1 (включительно) из модели выбора.

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)

Устанавливает режим выбора.

String toString()

Возвращает строку, отображающую и идентифицирующую свойства этого объекта.

Методы, объявленные в классе java.lang.Object

equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

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

addListSelectionListener, clearSelection, getAnchorSelectionIndex, getLeadSelectionIndex, getMaxSelectionIndex, getMinSelectionIndex, getSelectedIndices, getSelectedItemsCount, getSelectionMode, getValueIsAdjusting, isSelectedIndex, isSelectionEmpty, removeListSelectionListener, setValueIsAdjusting

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

listenerList

protected EventListenerList listenerList

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

leadAnchorNotificationEnabled

protected boolean leadAnchorNotificationEnabled

Включена ли уведомления о ведущем и якорном элементе.

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

DefaultListSelectionModel

public DefaultListSelectionModel()

Методы

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()

getListSelectionListeners

public ListSelectionListener[] getListSelectionListeners()

Возвращает массив всех зарегистрированных слушателей событий выделения списка для этого DefaultListSelectionModel.

Возвращает:
все слушатели событий выделения списка этого модели или пустой массив, если слушатели не зарегистрированы
С версии:
1.4
См. также:
ListSelectionModel.addListSelectionListener(javax.swing.event.ListSelectionListener), ListSelectionModel.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)
Параметры:
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, модель генерирует события уведомления с границами, охватывающими все изменения выделения плюс изменения индексов lead и anchor. Установка флага в значение false сужает границы события до включения только тех элементов, которые были выделены или убраны из выделения с момента последнего изменения. В любом случае модель продолжает сохранять переменные lead и anchor внутри себя. По умолчанию значение равно true.

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

Возвращает:
значение флага leadAnchorNotificationEnabled
См. также:
setLeadAnchorNotificationEnabled(boolean)

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)
См. также:
ListSelectionModel.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)
См. также:
ListSelectionModel.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)
См. также:
ListSelectionModel.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

removeIndexInterval

public void removeIndexInterval(int index0,
                                int index1)

Удалите индексы в интервале index0,index1 (включительно) из модели выбора. Это обычно используется для синхронизации модели выбора с соответствующим изменением в модели данных. Обратите внимание, что (как всегда) index0 не обязательно должен быть <= index1.

Определено в:
removeIndexInterval в интерфейсе ListSelectionModel
Параметры:
index0 - начало интервала
index1 - конец интервала

toString

public String toString()

Возвращает строку, отображающую и идентифицирующую свойства этого объекта.

Переопределяет:
toString в классе Object
Возвращает:
представление String этого объекта

clone

public Object clone()
             throws CloneNotSupportedException

Возвращает копию этой модели выбора с тем же выбором. listenerLists не дублируются.

Переопределяет:
clone в классе Object
Возвращает:
копию этого экземпляра.
Исключения:
CloneNotSupportedException - если модель выбора не реализует интерфейс Cloneable и не определяет метод clone.
См. также:
Cloneable

setAnchorSelectionIndex

public void setAnchorSelectionIndex(int anchorIndex)

Устанавливает индекс якорного выбора, оставляя все значения выбора неизменными. Если leadAnchorNotificationEnabled равен true, отправляется уведомление, охватывающее старые и новые якорные ячейки.

Определено в:
setAnchorSelectionIndex в интерфейсе ListSelectionModel
Параметры:
anchorIndex - индекс якорного выбора
См. также:
ListSelectionModel.getAnchorSelectionIndex(), setLeadSelectionIndex(int)

moveLeadSelectionIndex

public void moveLeadSelectionIndex(int leadIndex)

Устанавливает индекс ведущего выбора, оставляя все значения выбора неизменными. Если leadAnchorNotificationEnabled равен true, отправляется уведомление, охватывающее старые и новые ведущие ячейки.

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

setLeadSelectionIndex

public void setLeadSelectionIndex(int leadIndex)

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

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

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

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

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

© 1993, 2020, 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/11/docs/api/java.desktop/javax/swing/DefaultListSelectionModel.html

Spec-Zone .ru
спецификации, руководства, описания, API