Класс DefaultListSelectionModel
- Все реализуемые интерфейсы:
Serializable, Cloneable, ListSelectionModel
public class DefaultListSelectionModel extends Object implements ListSelectionModel, Cloneable, Serializable
Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации предназначена для кратковременного хранения или RMI между приложениями, работающими с одной и той же версией Swing. Начиная с версии 1.4, в пакет java.beans добавлена поддержка долгосрочного хранения всех JavaBeans. См. XMLEncoder.
- Начиная с:
- 1.2
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected boolean |
leadAnchorNotificationEnabled |
Включено ли уведомление о ведущем якоре. |
protected EventListenerList |
listenerList |
Список слушателей. |
Поля, объявленные в интерфейсе ListSelectionModel
MULTIPLE_INTERVAL_SELECTION, SINGLE_INTERVAL_SELECTION, SINGLE_SELECTION | Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
MULTIPLE_INTERVAL_SELECTION |
Значение свойства selectionMode: за один раз выбирать один или несколько смежных диапазонов индексов. |
static final int |
SINGLE_INTERVAL_SELECTION |
Значение свойства selectionMode: за один раз выбирать один смежный диапазон индексов. |
static final int |
SINGLE_SELECTION |
Значение свойства selectionMode: за один раз выбирать один индекс списка. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
DefaultListSelectionModel() |
Создает DefaultListSelectionModel. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addListSelectionListener |
Добавляет в список слушатель, который получает уведомление при каждом изменении выбора. |
void |
addSelectionInterval |
Изменяет выбор, устанавливая объединение текущего выбора и индексов от index0 до index1 включительно. |
void |
clearSelection() |
Сбрасывает выбор, оставляя пустое множество. |
Object |
clone() |
Возвращает клон этой модели выбора с тем же выбором. |
protected void |
fireValueChanged |
Уведомляет слушателей о завершении серии изменений. |
protected void |
fireValueChanged |
Уведомляет ListSelectionListeners об изменении значения выбора в замкнутом интервале firstIndex, lastIndex. |
protected void |
fireValueChanged |
Уведомляет ListSelectionListeners об изменении значения выбора в замкнутом интервале firstIndex, lastIndex, а также о том, является ли это изменение последним в серии. |
int |
getAnchorSelectionIndex() |
Возвращает первый аргумент-индекс из последнего вызова setSelectionInterval(), addSelectionInterval() или removeSelectionInterval(). |
int |
getLeadSelectionIndex() |
Возвращает второй аргумент-индекс из последнего вызова setSelectionInterval(), addSelectionInterval() или removeSelectionInterval(). |
<T extends EventListener> |
getListeners |
Возвращает массив всех объектов, зарегистрированных в этой модели как FooListener. |
ListSelectionListener[] |
getListSelectionListeners() |
Возвращает массив всех слушателей выбора из списка, зарегистрированных в этой DefaultListSelectionModel. |
int |
getMaxSelectionIndex() |
Возвращает индекс последнего выбранного элемента или -1, если выбор пуст. |
int |
getMinSelectionIndex() |
Возвращает индекс первого выбранного элемента или -1, если выбор пуст. |
int |
getSelectionMode() |
Возвращает текущий режим выбора. |
boolean |
getValueIsAdjusting() |
Возвращает true, если выбор подвергается серии изменений. |
void |
insertIndexInterval |
Вставляет length индексов перед индексом или после него. |
boolean |
isLeadAnchorNotificationEnabled() |
Возвращает значение флага leadAnchorNotificationEnabled. |
boolean |
isSelectedIndex |
Возвращает true, если указанный индекс выбран. |
boolean |
isSelectionEmpty() |
Возвращает true, если не выбрано ни одного индекса. |
void |
moveLeadSelectionIndex |
Задает индекс ведущего элемента выбора, не изменяя значения выбора. |
void |
removeIndexInterval |
Удаляет из модели выбора индексы в интервале index0,index1 (включительно). |
void |
removeListSelectionListener |
Удаляет из списка слушатель, который получает уведомление при каждом изменении выбора. |
void |
removeSelectionInterval |
Изменяет выбор, устанавливая разность текущего выбора и индексов от index0 до index1 включительно. |
void |
setAnchorSelectionIndex |
Задает индекс якорного элемента выбора, не изменяя значения выбора. |
void |
setLeadAnchorNotificationEnabled |
Задает значение флага leadAnchorNotificationEnabled. |
void |
setLeadSelectionIndex |
Задает индекс ведущего элемента выбора, обеспечивая, чтобы все значения между якорем и новым ведущим элементом были либо выбраны, либо не выбраны. |
void |
setSelectionInterval |
Изменяет выбор, выбирая индексы от index0 до index1 включительно. |
void |
setSelectionMode |
Задает режим выбора. |
void |
setValueIsAdjusting |
Задает свойство valueIsAdjusting, которое указывает, следует ли считать предстоящие изменения выбора частью одного изменения. |
String |
toString() |
Возвращает строку, отображающую свойства этого объекта и описывающую его. |
Методы, объявленные в классе Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equals |
Указывает, равен ли некоторый другой объект этому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация устарела и подлежит удалению в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения заданного периода реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения заданного периода реального времени. |
Методы, объявленные в интерфейсе ListSelectionModel
getSelectedIndices, getSelectedItemsCount | Модификатор и тип | Метод | Описание |
|---|---|---|
default int[] |
getSelectedIndices() |
Возвращает массив всех выбранных индексов модели выбора в порядке возрастания. |
default int |
getSelectedItemsCount() |
Возвращает количество выбранных элементов. |
Подробное описание полей
listenerList
protected EventListenerList listenerList
leadAnchorNotificationEnabled
protected boolean leadAnchorNotificationEnabled
Подробное описание конструкторов
DefaultListSelectionModel
public DefaultListSelectionModel()
DefaultListSelectionModel.Подробное описание методов
getMinSelectionIndex
public int getMinSelectionIndex()
- Указано в:
-
getMinSelectionIndexв интерфейсеListSelectionModel - Возвращает:
- первый выбранный индекс или -1, если выборка пуста.
getMaxSelectionIndex
public int getMaxSelectionIndex()
- Указано в:
-
getMaxSelectionIndexв интерфейсеListSelectionModel - Возвращает:
- последний выбранный индекс или -1, если выборка пуста.
getValueIsAdjusting
public boolean getValueIsAdjusting()
true, если выборка изменяется в ходе серии изменений.- Указано в:
-
getValueIsAdjustingв интерфейсеListSelectionModel - Возвращает:
- true, если выборка изменяется в ходе серии изменений
- См. также:
getSelectionMode
public int getSelectionMode()
- Указано в:
-
getSelectionModeв интерфейсеListSelectionModel - Возвращает:
- текущий режим выбора
- См. также:
setSelectionMode
public void setSelectionMode(int selectionMode)
-
ListSelectionModel.SINGLE_SELECTION— одновременно можно выбрать только один индекс списка. В этом режимеsetSelectionIntervalиaddSelectionIntervalэквивалентны: оба заменяют текущую выборку индексом, заданным вторым аргументом («ведущим»). -
ListSelectionModel.SINGLE_INTERVAL_SELECTION— одновременно можно выбрать только один непрерывный интервал. В этом режимеaddSelectionIntervalведет себя так же, какsetSelectionInterval(заменяет текущую выборку), если только заданный интервал не примыкает непосредственно к существующей выборке и не перекрывает ее, так что его можно использовать для расширения выборки. -
ListSelectionModel.MULTIPLE_INTERVAL_SELECTION— в этом режиме нет ограничений на выборку.
- Указано в:
-
setSelectionModeв интерфейсеListSelectionModel - Параметры:
-
selectionMode— режим выбора - Исключения:
-
IllegalArgumentException— если режим выбора не входит в число допустимых - См. также:
isSelectedIndex
public boolean isSelectedIndex(int index)
- Указано в:
-
isSelectedIndexв интерфейсеListSelectionModel - Параметры:
-
index— индекс - Возвращает:
-
true, если указанный индекс выбран
isSelectionEmpty
public boolean isSelectionEmpty()
- Указано в:
-
isSelectionEmptyв интерфейсеListSelectionModel - Возвращает:
-
true, если не выбрано ни одного индекса.
addListSelectionListener
public void addListSelectionListener(ListSelectionListener l)
- Указано в:
-
addListSelectionListenerв интерфейсеListSelectionModel - Параметры:
-
l— ListSelectionListener - См. также:
removeListSelectionListener
public void removeListSelectionListener(ListSelectionListener l)
- Указано в:
-
removeListSelectionListenerв интерфейсеListSelectionModel - Параметры:
-
l— ListSelectionListener - См. также:
getListSelectionListeners
public ListSelectionListener[] getListSelectionListeners()
DefaultListSelectionModel.- Возвращает:
- всех
ListSelectionListenerэтой модели или пустой массив, если в настоящий момент слушатели выбора списка не зарегистрированы - С момента:
- 1.4
- См. также:
fireValueChanged
protected void fireValueChanged(boolean isAdjusting)
- Параметры:
-
isAdjusting— true, если это последнее изменение в серии
fireValueChanged
protected void fireValueChanged(int firstIndex, int lastIndex)
ListSelectionListeners об изменении значения выборки в замкнутом интервале firstIndex, lastIndex.- Параметры:
-
firstIndex— первый индекс интервала -
lastIndex— последний индекс интервала
fireValueChanged
protected void fireValueChanged(int firstIndex, int lastIndex, boolean isAdjusting)
ListSelectionListeners об изменении значения выборки в замкнутом интервале firstIndex, lastIndex, а также о том, является ли это изменение последним в серии.- Параметры:
-
firstIndex— первый индекс интервала -
lastIndex— последний индекс интервала -
isAdjusting— true, если это последнее изменение в серии - См. также:
getListeners
public <T extends EventListener> T[] getListeners(Class<T> listenerType)
FooListener. Слушатели FooListener регистрируются с помощью метода addFooListener. В качестве аргумента listenerType можно указать литерал класса, например FooListener.class. Например, можно запросить у экземпляра DefaultListSelectionModel m список слушателей выбора списка с помощью следующего кода:
ListSelectionListener[] lsls = (ListSelectionListener[])(m.getListeners(ListSelectionListener.class));Если таких слушателей нет, этот метод возвращает пустой массив.
- Параметры типа:
T— тип запрашиваемого классаEventListener- Параметры:
-
listenerType— тип запрашиваемых слушателей; этот параметр должен задавать интерфейс, являющийся наследникомjava.util.EventListener - Возвращает:
- массив всех объектов, зарегистрированных в этой модели как слушатели
FooListener, или пустой массив, если такие слушатели не добавлены - Исключения:
-
ClassCastException— еслиlistenerTypeне задает класс или интерфейс, реализующийjava.util.EventListener - С момента:
- 1.3
- См. также:
setLeadAnchorNotificationEnabled
public void setLeadAnchorNotificationEnabled(boolean flag)
- Параметры:
-
flag— логическое значение дляleadAnchorNotificationEnabled - См. также:
isLeadAnchorNotificationEnabled
public boolean isLeadAnchorNotificationEnabled()
leadAnchorNotificationEnabled. Если leadAnchorNotificationEnabled имеет значение true, модель генерирует события уведомления с границами, охватывающими все изменения выборки, а также изменения ведущего и опорного индексов. Если задать флагу значение false, границы события сужаются и включают только элементы, выбранные или отмененные после последнего изменения. В любом случае модель продолжает поддерживать переменные ведущего и опорного индексов внутри себя. Значение по умолчанию — true. Примечание. Ведущий или опорный индекс может измениться без изменения выборки. Уведомление об этих изменениях часто важно, например, когда новое значение ведущего или опорного индекса необходимо обновить в представлении. Поэтому изменять значение по умолчанию следует с осторожностью.
- Возвращает:
- значение флага
leadAnchorNotificationEnabled - См. также:
clearSelection
public void clearSelection()
- Указано в:
-
clearSelectionв интерфейсеListSelectionModel - См. также:
setSelectionInterval
public void setSelectionInterval(int index0, int index1)
index0 до index1 включительно. index0 не обязательно должен быть меньше или равен index1. В режиме выбора SINGLE_SELECTION используется только второй индекс.
Если это изменяет текущую выборку, каждый ListSelectionListener получает уведомление об изменении.
Если один из индексов равен -1, метод ничего не делает и завершается без исключения. В противном случае, если один из индексов меньше -1, генерируется исключение IndexOutOfBoundsException.
- Указано в:
-
setSelectionIntervalв интерфейсеListSelectionModel - Параметры:
-
index0— один конец интервала. -
index1— другой конец интервала - Исключения:
-
IndexOutOfBoundsException— если один из индексов меньше-1(и ни один из индексов не равен-1) - См. также:
addSelectionInterval
public void addSelectionInterval(int index0, int index1)
index0 до index1 включительно. В режиме выбора SINGLE_SELECTION этот метод эквивалентен вызову setSelectionInterval, при этом используется только второй индекс. В режиме выбора SINGLE_INTERVAL_SELECTION этот метод ведет себя так же, как setSelectionInterval, если только заданный интервал не примыкает непосредственно к существующей выборке и не перекрывает ее, так что его можно использовать для расширения выборки.
Если это изменяет текущую выборку, каждый ListSelectionListener получает уведомление об изменении. Обратите внимание, что index0 не обязательно должен быть меньше или равен index1.
Если один из индексов равен -1, метод ничего не делает и завершается без исключения. В противном случае, если один из индексов меньше -1, генерируется исключение IndexOutOfBoundsException.
- Указано в:
-
addSelectionIntervalв интерфейсеListSelectionModel - Параметры:
-
index0— один конец интервала. -
index1— другой конец интервала - Исключения:
-
IndexOutOfBoundsException— если один из индексов меньше-1(и ни один из индексов не равен-1) - См. также:
removeSelectionInterval
public void removeSelectionInterval(int index0, int index1)
index0 до index1 включительно. index0 не обязательно должен быть меньше или равен index1. В режиме выбора SINGLE_INTERVAL_SELECTION, если в результате удаления возникнут две несмежные выборки, удаление распространяется до большего конца выборки. Например, если выбраны индексы 0-10, а в качестве аргументов переданы индексы 5,6 (в любом порядке), результирующая выборка будет 0-4.
Если это изменяет текущую выборку, каждый ListSelectionListener получает уведомление об изменении.
Если один из индексов равен -1, метод ничего не делает и завершается без исключения. В противном случае, если один из индексов меньше -1, генерируется исключение IndexOutOfBoundsException.
- Указано в:
-
removeSelectionIntervalв интерфейсеListSelectionModel - Параметры:
-
index0— один конец интервала -
index1— другой конец интервала - Исключения:
-
IndexOutOfBoundsException— если один из индексов меньше-1(и ни один из индексов не равен-1) - См. также:
insertIndexInterval
public void insertIndexInterval(int index, int length, boolean before)
- Указано в:
-
insertIndexIntervalв интерфейсеListSelectionModel - Параметры:
-
index— начало интервала -
length— длина интервала -
before— еслиtrue, интервал вставляется передindex, в противном случае интервал вставляется послеindex - Исключения:
-
IndexOutOfBoundsException— еслиindexилиlengthотрицателен
removeIndexInterval
public void removeIndexInterval(int index0, int index1)
- Указано в:
-
removeIndexIntervalв интерфейсеListSelectionModel - Параметры:
-
index0— начало интервала -
index1— конец интервала - Исключения:
-
IndexOutOfBoundsException— если один из индексов отрицателен
setValueIsAdjusting
public void setValueIsAdjusting(boolean isAdjusting)
valueIsAdjusting, указывающее, следует ли считать предстоящие изменения выборки частью одного изменения. Значение этого свойства используется для инициализации свойства valueIsAdjusting у создаваемых объектов ListSelectionEvent. Например, если выборка обновляется в ответ на перетаскивание пользователем, это свойство можно установить в true при начале перетаскивания и в false при его завершении. Во время перетаскивания слушатели получают события со свойством valueIsAdjusting, равным true. В конце перетаскивания, когда изменение завершено, слушатели получают событие со значением false. Слушатели могут использовать этот шаблон, если им требуется обновление только после завершения изменения.
Установка этого свойства в true начинает серию изменений, которую следует считать одним изменением. Когда свойство снова устанавливается в false, отправляется событие, описывающее все изменение выборки (если оно произошло); свойству valueIsAdjusting этого события присваивается значение false.
- Указано в:
-
setValueIsAdjustingв интерфейсеListSelectionModel - Параметры:
-
isAdjusting— новое значение свойства - См. также:
toString
clone
public Object clone() throws CloneNotSupportedException
listenerLists не дублируются.- Переопределяет:
-
cloneв классеObject - Возвращает:
- копию этого экземпляра.
- Исключения:
-
CloneNotSupportedException— если модель выбора не (а) реализует интерфейс Cloneable и (б) не определяет методclone. - См. также:
getAnchorSelectionIndex
public int getAnchorSelectionIndex()
- Указано в:
-
getAnchorSelectionIndexв интерфейсеListSelectionModel - Возвращает:
- опорный индекс выборки
- См. также:
getLeadSelectionIndex
public int getLeadSelectionIndex()
- Указано в:
-
getLeadSelectionIndexв интерфейсеListSelectionModel - Возвращает:
- ведущий индекс выборки.
- См. также:
setAnchorSelectionIndex
public void setAnchorSelectionIndex(int anchorIndex)
- Указано в:
-
setAnchorSelectionIndexв интерфейсеListSelectionModel - Параметры:
-
anchorIndex— опорный индекс выборки - См. также:
moveLeadSelectionIndex
public void moveLeadSelectionIndex(int leadIndex)
- Параметры:
-
leadIndex— новый ведущий индекс выборки - С момента:
- 1.5
- См. также:
setLeadSelectionIndex
public void setLeadSelectionIndex(int leadIndex)
Если значение по опорному индексу не выбрано, выполняется обратное действие: выбираются значения в старом диапазоне и отменяется выбор значений в новом.
Для этого изменения создается одно событие, которое отправляется всем слушателям. Чтобы задать минимальные границы события, операция выполняется за один проход; таким образом, первый и последний индексы внутри рассылаемого ListSelectionEvent будут соответствовать ячейкам, значения которых действительно изменились в результате вызова этого метода. Если выполнить операцию в два этапа, состояние выборки останется тем же, но будут созданы два события, а границы измененных значений окажутся шире и включат ячейки, выбор которых сначала был отменен и лишь затем установлен.
Этот метод можно использовать в методе mouseDragged класса пользовательского интерфейса для расширения выборки.
- Указано в:
-
setLeadSelectionIndexв интерфейсеListSelectionModel - Параметры:
-
leadIndex— ведущий индекс выборки - См. также:
© 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.