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