Spec-Zone.ru › OpenJDK 17

Класс 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)
int getAnchorSelectionIndex()
Возвращает первый индексный аргумент из последнего вызова setSelectionInterval(), addSelectionInterval() или removeSelectionInterval().
int getLeadSelectionIndex()
Возвращает второй индексный аргумент из последнего вызова setSelectionInterval(), addSelectionInterval() или removeSelectionInterval().
<T extends EventListener>
T[]
getListeners(Class<T> listenerType)
Возвращает массив всех объектов, зарегистрированных в качестве FooListener в данной модели.
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)
Параметры:
firstIndex - первый индекс в интервале
lastIndex - последний индекс в интервале
isAdjusting - true, если это последнее изменение в серии корректировок
См. также:
  • EventListenerList

getListeners

public <T extends EventListener> T[] getListeners(Class<T> listenerType)
Возвращает массив всех объектов, текущих зарегистрированных как FooListener в этой модели. FooListeners регистрируются с помощью метода addFooListener.

Вы можете указать параметр listenerType с помощью литерала класса, например FooListener.class. Например, вы можете запросить у экземпляра DefaultListSelectionModel m его слушателей выбора списка с помощью следующего кода:

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)
Вставить индексы длиной, начиная перед/после индекса. Если значение в индексе само по себе выбрано, а режим выбора не 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 - конец интервала

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
Возвращает:
строковое представление этого объекта

clone

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

getAnchorSelectionIndex

public int getAnchorSelectionIndex()
Возвращает первый индекс аргумента из последнего вызова setSelectionInterval(), addSelectionInterval() или removeSelectionInterval(). Наименее недавний индекс 0 считается «якорным», а наименее недавний индекс 1 — «ведущим». Некоторые интерфейсы отображают эти индексы особо, например, 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 класса UI для расширения выделения.

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

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

Spec-Zone.ru

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