Spec-Zone.ru › OpenJDK 17

Интерфейс 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(). Последний 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 ListSelectionEvents, которые генерируются.

Например, если выбор обновляется в ответ на перетаскивание пользователем, это свойство может быть установлено в 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) в новом массиве 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, 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/ListSelectionModel.html

Spec-Zone.ru

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