Spec-Zone.ru › OpenJDK 25

Интерфейс ListSelectionModel

Все известные реализующие классы:
DefaultListSelectionModel
public interface ListSelectionModel
Этот интерфейс представляет текущее состояние выделения для любого компонента, отображающего список значений со стабильными индексами. Выделение моделируется как набор интервалов, каждый из которых представляет непрерывный диапазон выделенных элементов списка. Методы изменения набора выделенных интервалов принимают пару индексов — index0 и index1, представляющих замкнутый интервал, то есть интервал включает и index0, и index1.
Начиная с:
1.2
См. также:
  • DefaultListSelectionModel

Краткое описание полей

Модификатор и тип Поле Описание
static final int MULTIPLE_INTERVAL_SELECTION
Значение свойства selectionMode: за один раз выбрать один или несколько непрерывных диапазонов индексов.
static final int SINGLE_INTERVAL_SELECTION
Значение свойства selectionMode: за один раз выбрать один непрерывный диапазон индексов.
static final 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(ListSelectionListener)

addSelectionInterval

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

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

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

Параметры:
index0 — один конец интервала.
index1 — другой конец интервала
См. также:
  • addListSelectionListener(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(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(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 — ListSelectionListener
См. также:
  • removeListSelectionListener(ListSelectionListener)
  • setSelectionInterval(int, int)
  • addSelectionInterval(int, int)
  • removeSelectionInterval(int, int)
  • clearSelection()
  • insertIndexInterval(int, int, boolean)
  • removeIndexInterval(int, int)

removeListSelectionListener

void removeListSelectionListener(ListSelectionListener x)
Удаляет из списка слушатель, который получает уведомление при каждом изменении выделения.
Параметры:
x — ListSelectionListener
См. также:
  • addListSelectionListener(ListSelectionListener)

getSelectedIndices

default int[] getSelectedIndices()
Возвращает массив всех выделенных индексов модели выделения в порядке возрастания.
Требования к реализации:
Реализация по умолчанию выполняет перебор от минимального выделенного индекса getMinSelectionIndex() до максимального выделенного индекса getMaxSelectionIndex() и возвращает выделенные индексы isSelectedIndex(int) в новом массиве int.
Возвращает:
все выделенные индексы в порядке возрастания или пустой массив, если ничего не выделено
Начиная с:
11
См. также:
  • removeSelectionInterval(int, int)
  • addListSelectionListener(ListSelectionListener)

getSelectedItemsCount

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, способы обхода проблем и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/ListSelectionModel.html

Spec-Zone.ru

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