Интерфейс 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 ListSelectionEvents, которые генерируются. Например, если выбор обновляется в ответ на перетаскивание пользователем, это свойство может быть установлено в 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)
removeListSelectionListener
void removeListSelectionListener(ListSelectionListener x)
- Parameters:
-
x- ListSelectionListener - See Also:
getSelectedIndices
default int[] getSelectedIndices()
- Implementation Requirements:
- Базовая реализация перебирает индексы от минимального выбранного индекса
getMinSelectionIndex()до максимального выбранного индексаgetMaxSelectionIndex()и возвращает выбранные индексыisSelectedIndex(int)в новом массиве int. - Returns:
- все выбранные индексы в порядке возрастания или пустой массив, если ничего не выбрано
- Since:
- 11
- See Also:
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