Интерфейс ListSelectionModel
- Все известные реализующие классы:
DefaultListSelectionModel
public interface ListSelectionModel
- Начиная с:
- 1.2
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
MULTIPLE_INTERVAL_SELECTION |
Значение свойства selectionMode: за один раз выбрать один или несколько непрерывных диапазонов индексов. |
static final int |
SINGLE_INTERVAL_SELECTION |
Значение свойства selectionMode: за один раз выбрать один непрерывный диапазон индексов. |
static final int |
SINGLE_SELECTION |
Значение свойства selectionMode: за один раз выбрать один индекс списка. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addListSelectionListener |
Добавляет в список слушатель, который получает уведомление при каждом изменении выделения. |
void |
addSelectionInterval |
Изменяет выделение, устанавливая объединение текущего выделения и индексов от 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 |
Вставляет length индексов, начиная перед/после index. |
boolean |
isSelectedIndex |
Возвращает true, если указанный индекс выделен. |
boolean |
isSelectionEmpty() |
Возвращает true, если ни один индекс не выделен. |
void |
removeIndexInterval |
Удаляет из модели выделения индексы интервала index0,index1 (включительно). |
void |
removeListSelectionListener |
Удаляет из списка слушатель, который получает уведомление при каждом изменении выделения. |
void |
removeSelectionInterval |
Изменяет выделение, устанавливая разность текущего выделения и индексов от index0 до index1 включительно. |
void |
setAnchorSelectionIndex |
Задает индекс-якорь выделения. |
void |
setLeadSelectionIndex |
Задает ведущий индекс выделения. |
void |
setSelectionInterval |
Изменяет выделение на диапазон от index0 до index1 включительно. |
void |
setSelectionMode |
Задает режим выделения. |
void |
setValueIsAdjusting |
Задает свойство valueIsAdjusting, указывающее, следует ли считать последующие изменения выделения частью одного изменения. |
Подробное описание полей
SINGLE_SELECTION
static final int SINGLE_SELECTION
- См. также:
SINGLE_INTERVAL_SELECTION
static final int SINGLE_INTERVAL_SELECTION
- См. также:
MULTIPLE_INTERVAL_SELECTION
static final int MULTIPLE_INTERVAL_SELECTION
- См. также:
Подробное описание методов
setSelectionInterval
void setSelectionInterval(int index0, int index1)
index0 до index1 включительно. index0 не обязательно должен быть меньше или равен index1. В режиме выделения SINGLE_SELECTION используется только второй индекс.
Если это приводит к изменению текущего выделения, каждый ListSelectionListener получает уведомление об изменении.
- Параметры:
-
index0— один конец интервала. -
index1— другой конец интервала - См. также:
addSelectionInterval
void addSelectionInterval(int index0, int index1)
index0 до index1 включительно. index0 не обязательно должен быть меньше или равен index1. В режиме выделения SINGLE_SELECTION это эквивалентно вызову setSelectionInterval, при этом используется только второй индекс. В режиме выделения SINGLE_INTERVAL_SELECTION этот метод действует как setSelectionInterval, если только заданный интервал не примыкает непосредственно к существующему выделению или не перекрывает его; в этом случае его можно использовать для расширения выделения.
Если это приводит к изменению текущего выделения, каждый ListSelectionListener получает уведомление об изменении.
- Параметры:
-
index0— один конец интервала. -
index1— другой конец интервала - См. также:
removeSelectionInterval
void removeSelectionInterval(int index0, int index1)
index0 до index1 включительно. index0 не обязательно должен быть меньше или равен index1. В режиме выделения SINGLE_INTERVAL_SELECTION, если в результате удаления образовались бы два непересекающихся выделения, удаление распространяется до большего конца выделения. Например, если выделение — 0-10, а вы задаете индексы 5,6 (в любом порядке), результирующее выделение — 0-4.
Если это приводит к изменению текущего выделения, каждый ListSelectionListener получает уведомление об изменении.
- Параметры:
-
index0— один конец интервала. -
index1— другой конец интервала - См. также:
getMinSelectionIndex
int getMinSelectionIndex()
- Возвращает:
- первый выделенный индекс или -1, если выделение пусто.
getMaxSelectionIndex
int getMaxSelectionIndex()
- Возвращает:
- последний выделенный индекс или -1, если выделение пусто.
isSelectedIndex
boolean isSelectedIndex(int index)
- Параметры:
-
index— индекс - Возвращает:
-
true, если указанный индекс выделен
getAnchorSelectionIndex
int getAnchorSelectionIndex()
- Возвращает:
- индекс-якорь выделения
- См. также:
setAnchorSelectionIndex
void setAnchorSelectionIndex(int index)
- Параметры:
-
index— индекс-якорь выделения - См. также:
getLeadSelectionIndex
int getLeadSelectionIndex()
- Возвращает:
- ведущий индекс выделения.
- См. также:
setLeadSelectionIndex
void setLeadSelectionIndex(int index)
- Параметры:
-
index— ведущий индекс выделения - См. также:
clearSelection
void clearSelection()
- См. также:
isSelectionEmpty
boolean isSelectionEmpty()
- Возвращает:
-
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
boolean getValueIsAdjusting()
true, если выделение проходит серию изменений.- Возвращает:
- true, если выделение проходит серию изменений
- См. также:
setSelectionMode
void setSelectionMode(int selectionMode)
-
ListSelectionModel.SINGLE_SELECTION— за один раз можно выделить только один индекс списка. В этом режимеsetSelectionIntervalиaddSelectionIntervalэквивалентны: оба заменяют текущее выделение индексом, представленным вторым аргументом («ведущим индексом»). -
ListSelectionModel.SINGLE_INTERVAL_SELECTION— за один раз можно выделить только один непрерывный интервал. В этом режимеaddSelectionIntervalдействует какsetSelectionInterval(заменяет текущее выделение), если только заданный интервал не примыкает непосредственно к существующему выделению или не перекрывает его; в таком случае его можно использовать для расширения выделения. -
ListSelectionModel.MULTIPLE_INTERVAL_SELECTION— в этом режиме нет ограничений на то, что можно выделить.
- Параметры:
-
selectionMode— режим выделения - Выбрасывает:
-
IllegalArgumentException— если режим выделения не входит в число допустимых - См. также:
getSelectionMode
int getSelectionMode()
- Возвращает:
- текущий режим выделения
- См. также:
addListSelectionListener
void addListSelectionListener(ListSelectionListener x)
- Параметры:
-
x— ListSelectionListener - См. также:
removeListSelectionListener
void removeListSelectionListener(ListSelectionListener x)
- Параметры:
-
x— ListSelectionListener - См. также:
getSelectedIndices
default int[] getSelectedIndices()
- Требования к реализации:
- Реализация по умолчанию выполняет перебор от минимального выделенного индекса
getMinSelectionIndex()до максимального выделенного индексаgetMaxSelectionIndex()и возвращает выделенные индексыisSelectedIndex(int)в новом массиве int. - Возвращает:
- все выделенные индексы в порядке возрастания или пустой массив, если ничего не выделено
- Начиная с:
- 11
- См. также:
getSelectedItemsCount
default int getSelectedItemsCount()
- Требования к реализации:
- Реализация по умолчанию выполняет перебор от минимального выделенного индекса
getMinSelectionIndex()до максимального выделенного индексаgetMaxSelectionIndex()и возвращает количество выделенных индексовisSelectedIndex(int) - Возвращает:
- количество выделенных элементов; 0, если ничего не выделено
- Начиная с:
- 11
© 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