Интерфейс ListSelectionModel

Все известные реализующие классы:
DefaultListSelectionModel
public interface ListSelectionModel

Этот интерфейс представляет текущее состояние выбора для любых компонентов, которые отображают список значений со стабильными индексами. Выбор моделируется как набор интервалов, каждый интервал представляет собой непрерывный диапазон выбранных элементов списка. Методы изменения набора выбранных интервалов принимают пару индексов, index0 и index1, которые представляют собой замкнутый интервал, то есть интервал включает как index0, так и index1.

С момента:
1.2
См. также:
DefaultListSelectionModel

Поля

Модификатор и тип Поле Описание
static int MULTIPLE_INTERVAL_SELECTION

Значение для свойства selectionMode: выбор одного или нескольких смежных диапазонов индексов за раз.

static int SINGLE_INTERVAL_SELECTION

Значение для свойства selectionMode: выбор одного смежного диапазона индексов за раз.

static int SINGLE_SELECTION

Значение для свойства selectionMode: выбор одного индекса списка за раз.

Методы

Модификатор и тип Метод Описание
void addListSelectionListener​(ListSelectionListener x)

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

void addSelectionInterval​(int index0, int index1)

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

void clearSelection()

Изменяет выбор на пустой набор.

int getAnchorSelectionIndex()

Возвращает первый аргумент индекса из последнего вызова setSelectionInterval(), addSelectionInterval() или removeSelectionInterval().

int getLeadSelectionIndex()

Возвращает второй аргумент индекса из последнего вызова setSelectionInterval(), addSelectionInterval() или removeSelectionInterval().

int getMaxSelectionIndex()

Возвращает последний выбранный индекс или -1, если выбор пуст.

int getMinSelectionIndex()

Возвращает первый выбранный индекс или -1, если выбор пуст.

default int[] getSelectedIndices()

Возвращает массив всех выбранных индексов в модели выбора в порядке возрастания.

default int getSelectedItemsCount()

Возвращает количество выбранных элементов.

int getSelectionMode()

Возвращает текущий режим выбора.

boolean getValueIsAdjusting()

Возвращает true, если выбор проходит серию изменений.

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

Вставить индексы length начинающиеся до/после index.

boolean isSelectedIndex​(int index)

Возвращает true, если указанный индекс выбран.

boolean isSelectionEmpty()

Возвращает true, если индексы не выбраны.

void removeIndexInterval​(int index0, int index1)

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

void removeListSelectionListener​(ListSelectionListener x)

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

void removeSelectionInterval​(int index0, int index1)

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

void setAnchorSelectionIndex​(int index)

Устанавливает индекс якоря выбора.

void setLeadSelectionIndex​(int index)

Устанавливает индекс ведущего выбора.

void setSelectionInterval​(int index0, int index1)

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

void setSelectionMode​(int selectionMode)

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

void setValueIsAdjusting​(boolean valueIsAdjusting)

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

Поля

SINGLE_SELECTION

static final int SINGLE_SELECTION

Значение для свойства selectionMode: выбор одного индекса списка за раз.

См. также:
setSelectionMode(int), Значения константных полей

SINGLE_INTERVAL_SELECTION

static final int SINGLE_INTERVAL_SELECTION

Значение для свойства selectionMode: выбор одного смежного диапазона индексов за раз.

См. также:
setSelectionMode(int), Значения константных полей

MULTIPLE_INTERVAL_SELECTION

static final int MULTIPLE_INTERVAL_SELECTION

Значение для свойства selectionMode: выбор одного или нескольких смежных диапазонов индексов за раз.

См. также:
setSelectionMode(int), Значения константных полей

Методы

setSelectionInterval

void setSelectionInterval(int index0,
                          int index1)

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

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

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

Параметры:
index0 - один из концов интервала.
index1 - другой конец интервала
См. также:
addListSelectionListener(javax.swing.event.ListSelectionListener)

addSelectionInterval

void addSelectionInterval(int index0,
                          int index1)

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

В режиме выбора SINGLE_SELECTION это эквивалентно вызову setSelectionInterval, и используется только второй индекс. В режиме выбора SINGLE_INTERVAL_SELECTION этот метод ведет себя как setSelectionInterval, если заданный интервал непосредственно примыкает к существующему выбору или перекрывает его, и поэтому может быть использован для расширения выбора.

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

Параметры:
index0 - один из концов интервала.
index1 - другой конец интервала
См. также:
addListSelectionListener(javax.swing.event.ListSelectionListener), setSelectionInterval(int, int)

removeSelectionInterval

void removeSelectionInterval(int index0,
                             int index1)

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

В режиме выбора SINGLE_INTERVAL_SELECTION , если удаление приведет к образованию двух непересекающихся выборов, удаление распространяется через больший конец выбора. Например, если выбор — 0-10, а вы предоставляете индексы 5,6 (в любом порядке), результат — 0-4.

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

Параметры:
index0 - один из концов интервала.
index1 - другой конец интервала
См. также:
addListSelectionListener(javax.swing.event.ListSelectionListener)

getMinSelectionIndex

int getMinSelectionIndex()

Возвращает первый выбранный индекс или -1, если выбор пустой.

Возвращает:
первый выбранный индекс или -1, если выбор пустой.

getMaxSelectionIndex

int getMaxSelectionIndex()

Возвращает последний выбранный индекс или -1, если выбор пустой.

Возвращает:
последний выбранный индекс или -1, если выбор пустой.

isSelectedIndex

boolean isSelectedIndex(int index)

Возвращает true, если указанный индекс выбран.

Параметры:
index - индекс
Возвращает:
true если указанный индекс выбран

getAnchorSelectionIndex

int getAnchorSelectionIndex()

Возвращает первый индекс аргумента из последнего вызова setSelectionInterval(), addSelectionInterval() или removeSelectionInterval(). Последний index0 считается «якорным», а последний index1 — «лидирующим». Некоторые интерфейсы отображают эти индексы особо, например, Windows95 отображает лидирующий индекс с пунктирным желтым контуром.

Возвращает:
индекс якорного выбора
См. также:
getLeadSelectionIndex(), setSelectionInterval(int, int), addSelectionInterval(int, int)

setAnchorSelectionIndex

void setAnchorSelectionIndex(int index)

Устанавливает индекс якорного выбора.

Параметры:
index - индекс якорного выбора
См. также:
getAnchorSelectionIndex()

getLeadSelectionIndex

int getLeadSelectionIndex()

Возвращает второй индекс аргумента из последнего вызова setSelectionInterval(), addSelectionInterval() или removeSelectionInterval().

Возвращает:
индекс лидирующего выбора.
См. также:
getAnchorSelectionIndex(), setSelectionInterval(int, int), addSelectionInterval(int, int)

setLeadSelectionIndex

void setLeadSelectionIndex(int index)

Устанавливает индекс лидирующего выбора.

Параметры:
index - индекс лидирующего выбора
См. также:
getLeadSelectionIndex()

clearSelection

void clearSelection()

Изменяет выбор на пустое множество. Если это изменение текущего выбора, то уведомляются все ListSelectionListener.

См. также:
addListSelectionListener(javax.swing.event.ListSelectionListener)

isSelectionEmpty

boolean isSelectionEmpty()

Возвращает true, если индексы не выбраны.

Возвращает:
true если индексы не выбраны.

insertIndexInterval

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

Вставляет length индексы, начиная перед/после index. Обычно это вызывается для синхронизации модели выбора с соответствующим изменением модели данных.

Параметры:
index - начало интервала
length - длина интервала
before - если true, интервал вставляется перед index, в противном случае — после index

removeIndexInterval

void removeIndexInterval(int index0,
                         int index1)

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

Параметры:
index0 - начало интервала
index1 - конец интервала

setValueIsAdjusting

void setValueIsAdjusting(boolean valueIsAdjusting)

Устанавливает свойство valueIsAdjusting, которое указывает, рассматриваются ли предстоящие изменения выбора как часть одного изменения. Значение этого свойства используется для инициализации свойства valueIsAdjusting генерируемых ListSelectionEvent.

Например, если выбор обновляется в ответ на перетаскивание пользователем, это свойство может быть установлено в true при начале перетаскивания и в false при завершении перетаскивания. Во время перетаскивания слушатели получают события со свойством valueIsAdjusting установленным в true. В конце перетаскивания, когда изменение завершено, слушатели получают событие со значением, установленным в false. Слушатели могут использовать этот шаблон, если хотят обновляться только при завершении изменения.

Установка этого свойства в true запускает серию изменений, которые будут рассматриваться как часть одного изменения. Когда свойство возвращается к false, отправляется событие, характеризующее все изменения выбора (если они были), со свойством события valueIsAdjusting установленным в false.

Параметры:
valueIsAdjusting - новое значение свойства
См. также:
getValueIsAdjusting(), ListSelectionEvent.getValueIsAdjusting()

getValueIsAdjusting

boolean getValueIsAdjusting()

Возвращает true, если выбор подвергается серии изменений.

Возвращает:
true, если выбор подвергается серии изменений
См. также:
setValueIsAdjusting(boolean)

setSelectionMode

void setSelectionMode(int selectionMode)

Устанавливает режим выбора. Следующий список описывает допустимые режимы выбора:

  • ListSelectionModel.SINGLE_SELECTION - Одновременно может быть выбран только один индекс списка. В этом режиме setSelectionInterval и addSelectionInterval эквивалентны, оба заменяют текущий выбор на индекс, представленный вторым аргументом (лидирующим).
  • ListSelectionModel.SINGLE_INTERVAL_SELECTION - Одновременно может быть выбран только один непрерывный интервал. В этом режиме addSelectionInterval ведет себя как setSelectionInterval (заменяя текущий выбор), если заданный интервал непосредственно примыкает к существующему выбору или перекрывает его, и поэтому может быть использован для его расширения.
  • ListSelectionModel.MULTIPLE_INTERVAL_SELECTION - В этом режиме нет ограничений на то, что можно выбрать.

Параметры:
selectionMode - режим выбора
Исключения:
IllegalArgumentException - если режим выбора не соответствует допустимым
См. также:
getSelectionMode()

getSelectionMode

int getSelectionMode()

Возвращает текущий режим выбора.

Возвращает:
текущий режим выбора
См. также:
setSelectionMode(int)

addListSelectionListener

void addListSelectionListener(ListSelectionListener x)

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

Параметры:
x - обработчик событий выбора элементов списка
См. также:
removeListSelectionListener(javax.swing.event.ListSelectionListener), setSelectionInterval(int, int), addSelectionInterval(int, int), removeSelectionInterval(int, int), clearSelection(), insertIndexInterval(int, int, boolean), removeIndexInterval(int, int)

removeListSelectionListener

void removeListSelectionListener(ListSelectionListener x)

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

Параметры:
x - обработчик событий выбора элементов списка
См. также:
addListSelectionListener(javax.swing.event.ListSelectionListener)

getSelectedIndices

default int[] getSelectedIndices()

Возвращает массив всех выбранных индексов в модели выбора в порядке возрастания.

Требования к реализации:
Стандартная реализация итерируется от минимального выбранного индекса getMinSelectionIndex() до максимального выбранного индекса getMaxSelectionIndex() и возвращает выбранные индексы isSelectedIndex(int) в новом массиве целых чисел.
Возвращаемое значение:
все выбранные индексы в порядке возрастания, или пустой массив, если ничего не выбрано
С:
11
См. также:
removeSelectionInterval(int, int), addListSelectionListener(javax.swing.event.ListSelectionListener)

getSelectedItemsCount

default int getSelectedItemsCount()

Возвращает количество выбранных элементов.

Требования к реализации:
Стандартная реализация итерируется от минимального выбранного индекса getMinSelectionIndex() до максимального выбранного индекса getMaxSelectionIndex() и возвращает количество выбранных индексов isSelectedIndex(int)
Возвращаемое значение:
количество выбранных элементов, 0, если элементы не выбраны
С:
11

© 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/ListSelectionModel.html

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