Класс DefaultListSelectionModel
- Все реализованные интерфейсы:
-
Serializable,Cloneable,ListSelectionModel
public class DefaultListSelectionModel extends Object implements ListSelectionModel, Cloneable, Serializable
Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или RMI между приложениями, использующими одну и ту же версию Swing. Начиная с версии 1.4, поддержка долгосрочного хранения всех JavaBeans была добавлена в пакет java.beans. См. XMLEncoder.
- С тех пор:
- 1.2
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected boolean |
leadAnchorNotificationEnabled |
Включена ли уведомление о ведущем якоре. |
protected EventListenerList |
listenerList |
Список слушателей. |
Поля, объявленные в интерфейсе javax.swing.ListSelectionModel
MULTIPLE_INTERVAL_SELECTION, SINGLE_INTERVAL_SELECTION, SINGLE_SELECTION
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
DefaultListSelectionModel() |
Создает DefaultListSelectionModel. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addListSelectionListener |
Добавляет слушателя в список, который уведомляется при каждом изменении выбора. |
void |
addSelectionInterval |
Изменяет выбор, объединяя текущий выбор и индексы между index0 и index1 включительно. |
void |
clearSelection() |
Изменяет выбор на пустой набор. |
Object |
clone() |
Возвращает копию этой модели выбора с тем же выбором. |
protected void |
fireValueChanged |
Уведомляет слушателей о завершении серии изменений. |
protected void |
fireValueChanged |
Уведомляет ListSelectionListeners о том, что значение выбора в замкнутом интервале firstIndex, lastIndex изменилось. |
protected void |
fireValueChanged |
|
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 |
Вставка индексов длины, начинающихся до/после индекса. |
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() |
Возвращает строку, отображающую и идентифицирующую свойства этого объекта. |
Методы, объявленные в классе java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Методы, объявленные в интерфейсе javax.swing.ListSelectionModel
getSelectedIndices, 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 - См. также:
-
ListSelectionModel.removeListSelectionListener(javax.swing.event.ListSelectionListener)ListSelectionModel.setSelectionInterval(int, int)ListSelectionModel.addSelectionInterval(int, int)ListSelectionModel.removeSelectionInterval(int, int)ListSelectionModel.clearSelection()ListSelectionModel.insertIndexInterval(int, int, boolean)ListSelectionModel.removeIndexInterval(int, int)
removeListSelectionListener
public void removeListSelectionListener(ListSelectionListener l)
- Указано в:
-
removeListSelectionListenerв интерфейсеListSelectionModel - Параметры:
-
l- ListSelectionListener - См. также:
getListSelectionListeners
public ListSelectionListener[] getListSelectionListeners()
DefaultListSelectionModel.- Возвращает:
- все слушатели выбора списка этой модели или пустой массив, если слушатели выбора списка не зарегистрированы
- С:
- 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)
- Параметры:
-
firstIndex- первый индекс в интервале -
lastIndex- последний индекс в интервале -
isAdjusting- true, если это последнее изменение в серии корректировок - См. также:
getListeners
public <T extends EventListener> T[] getListeners(Class<T> listenerType)
FooListener в этой модели. FooListeners регистрируются с помощью метода 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
removeIndexInterval
public void removeIndexInterval(int index0, int index1)
- Определено в:
-
removeIndexIntervalв интерфейсеListSelectionModel - Параметры:
-
index0- начало интервала -
index1- конец интервала
setValueIsAdjusting
public void setValueIsAdjusting(boolean isAdjusting)
valueIsAdjusting, которое указывает, рассматриваются ли предстоящие изменения выбора как часть одного изменения. Значение этого свойства используется для инициализации свойства valueIsAdjusting сгенерированных ListSelectionEvent. Например, если выделение обновляется в ответ на перетаскивание пользователем, это свойство может быть установлено в true при начале перетаскивания и установлено в false по завершении перетаскивания. Во время перетаскивания слушатели получают события со свойством valueIsAdjusting установленным в true. По окончании перетаскивания, когда изменение завершено, слушатели получают событие со значением, установленным в false. Слушатели могут использовать эту схему, если хотят обновлять только при завершении изменения.
Установка этого свойства в true начинает серию изменений, которые рассматриваются как единое изменение. При изменении свойства обратно на false, отправляется событие, характеризующее все изменения выбора (если таковые имелись), со свойством события valueIsAdjusting установленным в false.
- Определено в:
-
setValueIsAdjustingв интерфейсеListSelectionModel - Параметры:
-
isAdjusting- новое значение свойства - См. также:
toString
public String toString()
- Переопределяет:
-
toStringв классеObject - Возвращает:
- строковое представление этого объекта
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 класса UI для расширения выделения.
- Определено в:
-
setLeadSelectionIndexв интерфейсеListSelectionModel - Параметры:
-
leadIndex- индекс ведущего выделения - См. также:
© 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/DefaultListSelectionModel.html