Интерфейс 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.
- Parameters:
-
valueIsAdjusting- новое значение свойства - See Also:
getValueIsAdjusting
boolean getValueIsAdjusting()
true, если выбор проходит серию изменений.- Returns:
- true, если выбор проходит серию изменений
- See Also:
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
int getSelectionMode()
- Returns:
- текущий режим выбора
- See Also:
addListSelectionListener
void addListSelectionListener(ListSelectionListener x)
- Parameters:
-
x- слушатель ListSelectionListener - See Also:
removeListSelectionListener
void removeListSelectionListener(ListSelectionListener x)
- Parameters:
-
x- слушатель ListSelectionListener - See Also:
getSelectedIndices
default int[] getSelectedIndices()
- Implementation Requirements:
- Стандартная реализация перебирает от минимального индекса выбранного элемента
getMinSelectionIndex()до максимального индекса выбранного элементаgetMaxSelectionIndex()и возвращает выбранные индексыisSelectedIndex(int)в новом целочисленном массиве. - Returns:
- все выбранные индексы в порядке возрастания или пустой массив, если ничего не выбрано
- Since:
- 11
- See Also:
getSelectedItemsCount
default int getSelectedItemsCount()
- Implementation Requirements:
- Стандартная реализация перебирает от минимального индекса выбранного элемента
getMinSelectionIndex()до максимального индекса выбранного элементаgetMaxSelectionIndex()и возвращает количество выбранных индексовisSelectedIndex(int) - Returns:
- количество выбранных элементов, 0, если нет выбранных элементов
- Since:
- 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/ListSelectionModel.html