Spec-Zone.ru › OpenJDK 24

Класс DefaultTreeSelectionModel

java.lang.Object
javax.swing.tree.DefaultTreeSelectionModel
Все реализуемые интерфейсы:
Serializable, Cloneable, TreeSelectionModel
Непосредственные подклассы:
JTree.EmptySelectionModel
public class DefaultTreeSelectionModel extends Object implements Cloneable, Serializable, TreeSelectionModel
Базовая реализация TreeSelectionModel. Слушатели уведомляются всякий раз, когда изменяются пути в выделении, а не строки. Для отслеживания изменений строк вы можете стать слушателем событий расширения дерева и проверить изменения оттуда.

resetRowSelection вызывается из любых методов, обновляющих выделенные пути. Если вы создаёте подкласс любого из этих методов для фильтрации разрешённого выделения, обязательно вызовите resetRowSelection, если не вызываете super. Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или RMI между приложениями, использующими ту же версию Swing. Начиная с версии 1.4, добавлена поддержка долгосрочного хранения всех JavaBeans в пакете java.beans. См. XMLEncoder.

См. также:
  • JTree

Краткое описание полей

Modifier and Type Field Description
protected SwingPropertyChangeSupport changeSupport
Используется для отправки сообщений зарегистрированным слушателям.
protected int leadIndex
Индекс ведущего пути в выборе.
protected TreePath leadPath
Последний добавленный путь.
protected int leadRow
Строка ведущего элемента.
protected EventListenerList listenerList
Список слушателей событий.
protected DefaultListSelectionModel listSelectionModel
Обеспечивает поддержание модели выбора элементов списка.
protected RowMapper rowMapper
Предоставляет строку для заданного пути.
protected TreePath[] selection
Пути, которые в настоящее время выбраны.
static final String SELECTION_MODE_PROPERTY
Имя свойства для selectionMode.
protected int selectionMode
Режим выбора, может быть SINGLE_TREE_SELECTION, CONTIGUOUS_TREE_SELECTION или DISCONTIGUOUS_TREE_SELECTION.

Поля, объявленные в интерфейсе javax.swing.tree.TreeSelectionModel

CONTIGUOUS_TREE_SELECTION, DISCONTIGUOUS_TREE_SELECTION, SINGLE_TREE_SELECTION

Краткое описание конструкторов

Конструктор Описание
DefaultTreeSelectionModel()
Создает новый экземпляр DefaultTreeSelectionModel, который пуст, с режимом выбора DISCONTIGUOUS_TREE_SELECTION.

Краткое описание методов

Modifier and Type Method Description
void addPropertyChangeListener(PropertyChangeListener listener)
Добавляет PropertyChangeListener в список слушателей.
void addSelectionPath(TreePath path)
Добавляет путь к текущему выбору.
void addSelectionPaths(TreePath[] paths)
Добавляет пути к текущему выбору.
void addTreeSelectionListener(TreeSelectionListener x)
Добавляет x в список слушателей, которые уведомляются каждый раз, когда изменяется набор выбранных TreePaths.
protected boolean arePathsContiguous(TreePath[] paths)
Возвращает true, если пути непрерывны, или у этого объекта нет RowMapper.
protected boolean canPathsBeAdded(TreePath[] paths)
Используется для проверки, можно ли добавить определенный набор TreePath.
protected boolean canPathsBeRemoved(TreePath[] paths)
Возвращает true, если пути можно удалить без нарушения непрерывности модели.
void clearSelection()
Очищает текущий выбор.
Object clone()
Возвращает клонированный экземпляр этого объекта с тем же выбором.
protected void fireValueChanged(TreeSelectionEvent e)
Уведомляет всех слушателей, зарегистрированных для событий выбора дерева в этом объекте.
TreePath getLeadSelectionPath()
Возвращает последний добавленный путь.
int getLeadSelectionRow()
Возвращает индекс ведущего выбора.
<T extends EventListener>
T[]
getListeners(Class<T> listenerType)
Возвращает массив всех объектов, в настоящее время зарегистрированных в качестве FooListener в этой модели.
int getMaxSelectionRow()
Возвращает наибольшее значение, полученное от RowMapper для текущего набора выбранных TreePaths.
int getMinSelectionRow()
Возвращает наименьшее значение, полученное от RowMapper для текущего набора выбранных TreePaths.
PropertyChangeListener[] getPropertyChangeListeners()
Возвращает массив всех слушателей изменений свойств, зарегистрированных в этом DefaultTreeSelectionModel.
RowMapper getRowMapper()
Возвращает экземпляр RowMapper, способный сопоставить TreePath со строкой.
int getSelectionCount()
Возвращает количество выбранных путей.
int getSelectionMode()
Возвращает режим выбора, один из SINGLE_TREE_SELECTION, DISCONTIGUOUS_TREE_SELECTION или CONTIGUOUS_TREE_SELECTION.
TreePath getSelectionPath()
Возвращает первый путь в выборе.
TreePath[] getSelectionPaths()
Возвращает выбор.
int[] getSelectionRows()
Возвращает выбор в терминах строк.
TreeSelectionListener[] getTreeSelectionListeners()
Возвращает массив всех слушателей событий выбора дерева, зарегистрированных в этой модели.
protected void insureRowContinuity()
Убеждается, что текущие выбранные TreePath действительны для текущего режима выбора.
protected void insureUniqueness()
Этот метод устарел и его реализация теперь является noop.
boolean isPathSelected(TreePath path)
Возвращает true, если путь, path, находится в текущем выборе.
boolean isRowSelected(int row)
Возвращает true, если строка, идентифицируемая по row, выбрана.
boolean isSelectionEmpty()
Возвращает true, если выбор в настоящее время пуст.
protected void notifyPathChange(Vector<?> changedPaths, TreePath oldLeadSelection)
Устарело.
Начиная с версии JDK 1.7
void removePropertyChangeListener(PropertyChangeListener listener)
Удаляет PropertyChangeListener из списка слушателей.
void removeSelectionPath(TreePath path)
Удаляет путь из выбора.
void removeSelectionPaths(TreePath[] paths)
Удаляет пути из выбора.
void removeTreeSelectionListener(TreeSelectionListener x)
Удаляет x из списка слушателей, которые уведомляются каждый раз, когда изменяется набор выбранных TreePaths.
void resetRowSelection()
Обновляет сопоставление этого объекта из TreePath в строки.
void setRowMapper(RowMapper newMapper)
Устанавливает экземпляр RowMapper.
void setSelectionMode(int mode)
Устанавливает модель выбора, которая должна быть одной из SINGLE_TREE_SELECTION, CONTIGUOUS_TREE_SELECTION или DISCONTIGUOUS_TREE_SELECTION.
void setSelectionPath(TreePath path)
Устанавливает выбор на путь.
void setSelectionPaths(TreePath[] pPaths)
Устанавливает выбор.
String toString()
Возвращает строку, которая отображает и идентифицирует свойства этого объекта.
protected void updateLeadIndex()
Обновляет переменную leadIndex.

Методы, объявленные в классе java.lang.Object

equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Подробное описание полей

SELECTION_MODE_PROPERTY

public static final String SELECTION_MODE_PROPERTY
Имя свойства для selectionMode.
См. также:
  • Значения константных полей

changeSupport

protected SwingPropertyChangeSupport changeSupport
Используется для отправки сообщений зарегистрированным слушателям.

selection

protected TreePath[] selection
Пути, которые в настоящее время выбраны. Будет null, если ничего не выбрано.

listenerList

protected EventListenerList listenerList
Список слушателей событий.

rowMapper

protected transient RowMapper rowMapper
Предоставляет строку для заданного пути.

listSelectionModel

protected DefaultListSelectionModel listSelectionModel
Обрабатывает поддержание модели выбора списка. RowMapper используется для сопоставления TreePath со строкой, а значение затем размещается здесь.

selectionMode

protected int selectionMode
Режим выбора, будет либо SINGLE_TREE_SELECTION, CONTIGUOUS_TREE_SELECTION или DISCONTIGUOUS_TREE_SELECTION.

leadPath

protected TreePath leadPath
Последний добавленный путь.

leadIndex

protected int leadIndex
Индекс ведущего пути в выборе.

leadRow

protected int leadRow
Ведущий ряд.

Подробное описание конструкторов

DefaultTreeSelectionModel

public DefaultTreeSelectionModel()
Создает новый экземпляр DefaultTreeSelectionModel, который пуст, с режимом выбора DISCONTIGUOUS_TREE_SELECTION.

Подробное описание методов

setRowMapper

public void setRowMapper(RowMapper newMapper)
Устанавливает экземпляр RowMapper. Этот экземпляр используется для определения строки для конкретного TreePath.
Указано в:
setRowMapper в интерфейсе TreeSelectionModel
Параметры:
newMapper - устанавливаемый RowMapper

getRowMapper

public RowMapper getRowMapper()
Возвращает экземпляр RowMapper, который может сопоставить TreePath со строкой.
Указано в:
getRowMapper в интерфейсе TreeSelectionModel
Возвращает:
экземпляр RowMapper, который может сопоставить TreePath со строкой

setSelectionMode

public void setSelectionMode(int mode)
Устанавливает модель выбора, которая должна быть одной из SINGLE_TREE_SELECTION, CONTIGUOUS_TREE_SELECTION или DISCONTIGUOUS_TREE_SELECTION. Если режим не является одним из определенных значений, предполагается DISCONTIGUOUS_TREE_SELECTION.

Это может изменить выбор, если текущий выбор недействителен для нового режима. Например, если выбраны три TreePath, когда режим изменяется на SINGLE_TREE_SELECTION, будет оставаться выбранной только одна TreePath. От конкретной реализации зависит, какой TreePath останется выбранным.

Установка режима на значение, отличное от определенных типов, приведет к тому, что режим станет DISCONTIGUOUS_TREE_SELECTION.

Указано в:
setSelectionMode в интерфейсе TreeSelectionModel
Параметры:
mode - устанавливаемый режим выбора

getSelectionMode

public int getSelectionMode()
Возвращает режим выбора, один из SINGLE_TREE_SELECTION, DISCONTIGUOUS_TREE_SELECTION или CONTIGUOUS_TREE_SELECTION.
Указано в:
getSelectionMode в интерфейсе TreeSelectionModel
Возвращает:
текущий режим выбора

setSelectionPath

public void setSelectionPath(TreePath path)
Устанавливает выбор на путь. Если это изменение, то уведомляются слушатели TreeSelectionListeners. Если path равно null, это эквивалентно вызову clearSelection.
Указано в:
setSelectionPath в интерфейсе TreeSelectionModel
Параметры:
path - новый путь для выбора

setSelectionPaths

public void setSelectionPaths(TreePath[] pPaths)
Устанавливает выбор. То, воспринимаются ли предоставленные пути как новый выбор, зависит от режима выбора. Если предоставленный массив null или пустой, выбор очищается. Если режим выбора SINGLE_TREE_SELECTION, используется только первый путь в pPaths. Если режим выбора CONTIGUOUS_TREE_SELECTION, а предоставленные пути не непрерывны, используется только первый путь в pPaths. Если режим выбора DISCONTIGUOUS_TREE_SELECTION, используются все пути.

Все null пути в pPaths игнорируются.

Если это изменение, уведомляются все зарегистрированные слушатели TreeSelectionListener.

Ведущий путь устанавливается на последний уникальный путь.

Пути, возвращаемые из getSelectionPaths, упорядочены так же, как и предоставленные этому методу.

Указано в:
setSelectionPaths в интерфейсе TreeSelectionModel
Параметры:
pPaths - новый выбор

addSelectionPath

public void addSelectionPath(TreePath path)
Добавляет путь к текущему выбору. Если путь не находится в текущем выборе, уведомляются слушатели TreeSelectionListeners. Это не имеет эффекта, если path равно null.
Указано в:
addSelectionPath в интерфейсе TreeSelectionModel
Параметры:
path - новый путь для добавления в текущий выбор

addSelectionPaths

public void addSelectionPaths(TreePath[] paths)
Добавляет пути к текущему выбору. Если какой-либо из путей в пути не находится в текущем выборе, уведомляются слушатели TreeSelectionListeners. Это не имеет эффекта, если paths равно null.

Ведущий путь устанавливается на последний элемент в paths.

Если режим выбора CONTIGUOUS_TREE_SELECTION, и добавление новых путей сделает выбор несмежным. Тогда могут произойти два события: если TreePaths в paths смежные, выбор станет этими TreePaths, в противном случае TreePaths не смежные и выбор станет первым TreePath в paths.

Указано в:
addSelectionPaths в интерфейсе TreeSelectionModel
Параметры:
paths - новый путь для добавления в текущий выбор

removeSelectionPath

public void removeSelectionPath(TreePath path)
Удаляет путь из выбора. Если путь находится в выборе, уведомляются слушатели TreeSelectionListeners. Это не имеет эффекта, если path равно null.
Указано в:
removeSelectionPath в интерфейсе TreeSelectionModel
Параметры:
path - путь для удаления из выбора

removeSelectionPaths

public void removeSelectionPaths(TreePath[] paths)
Удаляет пути из выбора. Если какой-либо из путей в пути находится в выборе, уведомляются слушатели TreeSelectionListeners. Это не имеет эффекта, если paths равно null.
Указано в:
removeSelectionPaths в интерфейсе TreeSelectionModel
Параметры:
paths - пути для удаления из выбора

getSelectionPath

public TreePath getSelectionPath()
Возвращает первый путь в выборе. Это полезно, если в данный момент выбран только один элемент.
Указано в:
getSelectionPath в интерфейсе TreeSelectionModel
Возвращает:
первый путь в выборе

getSelectionPaths

public TreePath[] getSelectionPaths()
Возвращает выбор.
Указано в:
getSelectionPaths в интерфейсе TreeSelectionModel
Возвращает:
выбор

getSelectionCount

public int getSelectionCount()
Возвращает количество выбранных путей.
Указано в:
getSelectionCount в интерфейсе TreeSelectionModel
Возвращает:
количество выбранных путей
END_OF_DOCUMENT_MARKER

isPathSelected

public boolean isPathSelected(TreePath path)
Возвращает true, если путь, path, находится в текущем выделении.
Specified by:
isPathSelected in interface TreeSelectionModel
Parameters:
path - путь, который нужно найти
Returns:
является ли path частью текущего выделения

isSelectionEmpty

public boolean isSelectionEmpty()
Возвращает true, если выделение в настоящее время пусто.
Specified by:
isSelectionEmpty in interface TreeSelectionModel
Returns:
является ли выделение в настоящее время пустым

clearSelection

public void clearSelection()
Очищает текущее выделение. Если это изменение текущего выделения, слушатели выделения уведомляются.
Specified by:
clearSelection in interface TreeSelectionModel

addTreeSelectionListener

public void addTreeSelectionListener(TreeSelectionListener x)
Добавляет x в список слушателей, которые уведомляются каждый раз, когда изменяется набор выделенных TreePath.
Specified by:
addTreeSelectionListener in interface TreeSelectionModel
Parameters:
x - новый слушатель, который нужно добавить

removeTreeSelectionListener

public void removeTreeSelectionListener(TreeSelectionListener x)
Удаляет x из списка слушателей, которые уведомляются каждый раз, когда изменяется набор выделенных TreePaths.
Specified by:
removeTreeSelectionListener in interface TreeSelectionModel
Parameters:
x - слушатель для удаления

getTreeSelectionListeners

public TreeSelectionListener[] getTreeSelectionListeners()
Возвращает массив всех зарегистрированных слушателей событий выделения дерева в этой модели.
Returns:
все слушатели TreeSelectionListener этой модели или пустой массив, если слушатели выделения дерева не зарегистрированы
Since:
1.4
See Also:
  • addTreeSelectionListener(javax.swing.event.TreeSelectionListener)
  • removeTreeSelectionListener(javax.swing.event.TreeSelectionListener)

fireValueChanged

protected void fireValueChanged(TreeSelectionEvent e)
Уведомляет всех зарегистрированных слушателей событий выделения дерева об этом объекте.
Parameters:
e - событие, которое характеризует изменение
See Also:
  • addTreeSelectionListener(javax.swing.event.TreeSelectionListener)
  • EventListenerList

getListeners

public <T extends EventListener> T[] getListeners(Class<T> listenerType)
Возвращает массив всех объектов, в настоящее время зарегистрированных в качестве FooListener в этой модели. FooListener регистрируются с помощью метода addFooListener.

Вы можете указать аргумент listenerType с помощью литерала класса, например, FooListener.class. Например, вы можете запросить слушателей событий выделения дерева для DefaultTreeSelectionModel m с помощью следующего кода:

TreeSelectionListener[] tsls = (TreeSelectionListener[])(m.getListeners(TreeSelectionListener.class));
Если такие слушатели отсутствуют, этот метод возвращает пустой массив.
Type Parameters:
T - тип слушателя
Parameters:
listenerType - тип запрашиваемых слушателей
Returns:
массив всех объектов, зарегистрированных как FooListener в этом компоненте, или пустой массив, если такие слушатели не добавлены
Throws:
ClassCastException - если listenerType не указывает класс или интерфейс, реализующий java.util.EventListener
Since:
1.3
See Also:
  • getTreeSelectionListeners()
  • getPropertyChangeListeners()

getSelectionRows

public int[] getSelectionRows()
Возвращает выделение в терминах строк. Не обязательно существует взаимно однозначное соответствие между TreePath, возвращаемыми методом getSelectionPaths, и этим методом. В частности, если TreePath не отображается (метод RowMapper возвращает -1 для строки, соответствующей TreePath), то соответствующая строка не включается в возвращаемый массив. Например, если выделение состоит из двух путей, A и B, с A в строке 10, и B в данный момент не отображается, то этот метод возвращает массив с единственным элементом 10.
Specified by:
getSelectionRows in interface TreeSelectionModel
Returns:
выделение в терминах строк

getMinSelectionRow

public int getMinSelectionRow()
Возвращает наименьшее значение, полученное из RowMapper для текущего набора выделенных TreePaths. Если ничего не выделено или нет RowMapper, возвращается -1.
Specified by:
getMinSelectionRow in interface TreeSelectionModel
Returns:
наименьшее значение, полученное из RowMapper для текущего набора выделенных TreePaths

getMaxSelectionRow

public int getMaxSelectionRow()
Возвращает наибольшее значение, полученное из RowMapper для текущего набора выделенных TreePaths. Если ничего не выделено или нет RowMapper, возвращается -1.
Specified by:
getMaxSelectionRow in interface TreeSelectionModel
Returns:
наибольшее значение, полученное из RowMapper для текущего набора выделенных TreePaths

isRowSelected

public boolean isRowSelected(int row)
Возвращает true, если строка, идентифицируемая row, выделена.
Specified by:
isRowSelected in interface TreeSelectionModel
Parameters:
row - строка для проверки
Returns:
выделена ли строка

resetRowSelection

public void resetRowSelection()
Обновляет отображение этого объекта от TreePath к строкам. Это необходимо вызывать, когда отображение TreePaths на целые числа изменилось (например, узел был развернут).

Обычно вам не нужно вызывать это. JTree и связанные с ним слушатели вызовут это за вас. Если вы реализуете свой собственный класс View, то вам нужно будет вызвать это.

Это вызовет insureRowContinuity, чтобы убедиться, что текущие выделенные TreePaths по-прежнему действительны в соответствии с режимом выбора.

Specified by:
resetRowSelection in interface TreeSelectionModel

getLeadSelectionRow

public int getLeadSelectionRow()
Возвращает индекс ведущего выделения. Это последний добавленный индекс.
Specified by:
getLeadSelectionRow in interface TreeSelectionModel
Returns:
индекс ведущего выделения

getLeadSelectionPath

public TreePath getLeadSelectionPath()
Возвращает последний добавленный путь. Он может отличаться от свойства leadSelectionPath, поддерживаемого JTree.
Specified by:
getLeadSelectionPath in interface TreeSelectionModel
Returns:
последний добавленный путь

addPropertyChangeListener

public void addPropertyChangeListener(PropertyChangeListener listener)
Добавляет PropertyChangeListener в список слушателей. Слушатель регистрируется для всех свойств.

PropertyChangeEvent будет сгенерирован при изменении режима выбора.

Specified by:
addPropertyChangeListener in interface TreeSelectionModel
Parameters:
listener - добавляемый PropertyChangeListener

removePropertyChangeListener

public void removePropertyChangeListener(PropertyChangeListener listener)
Удаляет PropertyChangeListener из списка слушателей. Удаляется PropertyChangeListener, зарегистрированный для всех свойств.
Specified by:
removePropertyChangeListener in interface TreeSelectionModel
Parameters:
listener - удаляемый PropertyChangeListener

getPropertyChangeListeners

public PropertyChangeListener[] getPropertyChangeListeners()
Возвращает массив всех слушателей изменений свойств, зарегистрированных в этом DefaultTreeSelectionModel.
Возвращает:
все слушатели изменений свойств этой модели или пустой массив, если слушатели изменений свойств не зарегистрированы
С:
1.4
См. также:
  • addPropertyChangeListener(java.beans.PropertyChangeListener)
  • removePropertyChangeListener(java.beans.PropertyChangeListener)

insureRowContinuity

protected void insureRowContinuity()
Убеждается, что текущие выбранные TreePath являются допустимыми для текущего режима выбора. Если режим выбора — CONTIGUOUS_TREE_SELECTION и существует RowMapper, это гарантирует, что все строки являются непрерывными, то есть, при сортировке все строки упорядочены без пробелов. Если выбор не является непрерывным, выбор сбрасывается на содержащий первую последовательность непрерывных строк, при сортировке.

Если режим выбора — SINGLE_TREE_SELECTION и выбрано более одного объекта TreePath, выбор сбрасывается на первый выбранный путь.

arePathsContiguous

protected boolean arePathsContiguous(TreePath[] paths)
Возвращает true, если пути являются непрерывными, или у этого объекта нет RowMapper.
Параметры:
paths - массив путей для проверки
Возвращает:
являются ли пути непрерывными или у этого объекта нет RowMapper

canPathsBeAdded

protected boolean canPathsBeAdded(TreePath[] paths)
Используется для проверки, можно ли добавить определенный набор TreePath. Это вернет true, если paths равен null (или пуст), или у этого объекта нет RowMapper, или ничего не выбрано, или режим выбора — DISCONTIGUOUS_TREE_SELECTION, или добавление путей к текущему выбору по-прежнему приводит к непрерывному набору TreePath.
Параметры:
paths - массив TreePaths для проверки
Возвращает:
можно ли добавить конкретный набор TreePaths

canPathsBeRemoved

protected boolean canPathsBeRemoved(TreePath[] paths)
Возвращает true, если пути могут быть удалены без нарушения непрерывности модели. Это довольно дорогостоящее действие.
Параметры:
paths - массив TreePath для проверки
Возвращает:
можно ли удалить пути без нарушения непрерывности модели

notifyPathChange

@Deprecated protected void notifyPathChange(Vector<?> changedPaths, TreePath oldLeadSelection)
Устарело.
С версии JDK 1.7
Уведомляет слушателей об изменении пути. changePaths должен содержать экземпляры PathPlaceHolder.
Параметры:
changedPaths - вектор измененных путей
oldLeadSelection - старый путь выбора

updateLeadIndex

protected void updateLeadIndex()
Обновляет переменную leadIndex.

insureUniqueness

protected void insureUniqueness()
Этот метод устарел, и его реализация теперь является пустой операцией. Он все еще вызывается setSelectionPaths и addSelectionPaths, но только для обратной совместимости.

toString

public String toString()
Возвращает строку, отображающую и идентифицирующую свойства этого объекта.
Переопределяет:
toString в классе Object
Возвращает:
строковое представление этого объекта

clone

public Object clone() throws CloneNotSupportedException
Возвращает копию этого объекта с тем же выбором. Этот метод не дублирует слушателей выбора и слушателей свойств.
Переопределяет:
clone в классе Object
Возвращает:
копию этого экземпляра.
Исключения:
CloneNotSupportedException - никогда не выбрасывается экземплярами этого класса
См. также:
  • Cloneable

© 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/tree/DefaultTreeSelectionModel.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API