Spec-Zone.ru › OpenJDK 21

Интерфейс 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(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(). Последний индекс0 считается «якорем», а последний индекс1 — «руководящим». Некоторые интерфейсы отображают эти индексы особым образом, например, 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.

Parameters:
valueIsAdjusting - новое значение свойства
See Also:
  • getValueIsAdjusting()
  • ListSelectionEvent.getValueIsAdjusting()

getValueIsAdjusting

boolean getValueIsAdjusting()
Возвращает true, если выбор проходит серию изменений.
Returns:
true, если выбор проходит серию изменений
See Also:
  • setValueIsAdjusting(boolean)

setSelectionMode

void setSelectionMode(int selectionMode)
Устанавливает режим выбора. Следующий список описывает допустимые режимы выбора:
  • ListSelectionModel.SINGLE_SELECTION - Одновременно может быть выбран только один индекс списка. В этом режиме setSelectionInterval и addSelectionInterval эквивалентны, оба заменяют текущий выбор индексом, представленным вторым аргументом (лидером).
  • ListSelectionModel.SINGLE_INTERVAL_SELECTION - Одновременно может быть выбран только один непрерывный интервал. В этом режиме addSelectionInterval ведет себя как setSelectionInterval (заменяя текущий выбор), если указанный интервал не прилегает непосредственно к существующему выбору или не перекрывается им, и, таким образом, может быть использован для его расширения.
  • ListSelectionModel.MULTIPLE_INTERVAL_SELECTION - В этом режиме нет ограничений на выбор.
Parameters:
selectionMode - режим выбора
Throws:
IllegalArgumentException - если режим выбора не соответствует одному из разрешенных
See Also:
  • getSelectionMode()

getSelectionMode

int getSelectionMode()
Возвращает текущий режим выбора.
Returns:
текущий режим выбора
See Also:
  • setSelectionMode(int)

addListSelectionListener

void addListSelectionListener(ListSelectionListener x)
Добавляет слушателя к списку, который уведомляется каждый раз при изменении выбора.
Parameters:
x - ListSelectionListener
See Also:
  • 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)
Удаляет слушателя из списка, который уведомляется каждый раз при изменении выбора.
Parameters:
x - ListSelectionListener
See Also:
  • addListSelectionListener(javax.swing.event.ListSelectionListener)

getSelectedIndices

default int[] getSelectedIndices()
Возвращает массив всех выбранных индексов в модели выбора, в порядке возрастания.
Implementation Requirements:
В стандартной реализации происходит итерация от минимального выбранного индекса getMinSelectionIndex() до максимального выбранного индекса getMaxSelectionIndex() и возвращаются выбранные индексы isSelectedIndex(int) в новом массиве целых чисел.
Returns:
все выбранные индексы в порядке возрастания или пустой массив, если ничего не выбрано
Since:
11
See Also:
  • removeSelectionInterval(int, int)
  • addListSelectionListener(javax.swing.event.ListSelectionListener)

getSelectedItemsCount

default int getSelectedItemsCount()
Возвращает количество выбранных элементов.
Implementation Requirements:
В стандартной реализации происходит итерация от минимального выбранного индекса getMinSelectionIndex() до максимального выбранного индекса getMaxSelectionIndex() и возвращается количество выбранных индексов isSelectedIndex(int)
Returns:
количество выбранных элементов, 0, если элементы не выбраны
Since:
11

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

Spec-Zone.ru

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