Spec-Zone.ru › OpenJDK 25

Класс 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

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

Модификатор и тип Поле Описание
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.

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

CONTIGUOUS_TREE_SELECTION, DISCONTIGUOUS_TREE_SELECTION, SINGLE_TREE_SELECTION

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

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

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

Модификатор и тип Метод Описание
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)
Проверяет, можно ли добавить заданный набор TreePaths.
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)
Возвращает массив всех объектов, зарегистрированных в качестве FooListeners для этой модели.
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()
Проверяет, что текущие выбранные TreePaths допустимы для текущего режима выделения.
protected void insureUniqueness()
Этот метод устарел, и теперь его реализация ничего не делает.
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)
Задает выделение, состоящее из пути path.
void setSelectionPaths(TreePath[] pPaths)
Задает выделение.
String toString()
Возвращает строку, описывающую и идентифицирующую свойства этого объекта.
protected void updateLeadIndex()
Обновляет переменную экземпляра leadIndex.

Методы, объявленные в классе 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 игнорируются.

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

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

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

Определено в:
setSelectionPaths в интерфейсе TreeSelectionModel
Параметры:
pPaths - новый выбор

addSelectionPath

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

addSelectionPaths

public void addSelectionPaths(TreePath[] paths)
Добавляет пути к текущему выбору. Если какой-либо из путей в 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)
Удаляет пути из выбора. Если какой-либо из путей в 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
Возвращает:
количество выбранных путей

isPathSelected

public boolean isPathSelected(TreePath path)
Возвращает true, если путь path входит в текущий выбор.
Определено в:
isPathSelected в интерфейсе TreeSelectionModel
Параметры:
path - путь для проверки
Возвращает:
входит ли path в текущий выбор

isSelectionEmpty

public boolean isSelectionEmpty()
Возвращает true, если выбор в данный момент пуст.
Определено в:
isSelectionEmpty в интерфейсе TreeSelectionModel
Возвращает:
является ли выбор в данный момент пустым

clearSelection

public void clearSelection()
Очищает текущий выбор. Если текущий выбор изменился, уведомляются слушатели выбора.
Определено в:
clearSelection в интерфейсе TreeSelectionModel

addTreeSelectionListener

public void addTreeSelectionListener(TreeSelectionListener x)
Добавляет x в список слушателей, уведомляемых при каждом изменении набора выбранных TreePaths.
Определено в:
addTreeSelectionListener в интерфейсе TreeSelectionModel
Параметры:
x - новый слушатель для добавления

removeTreeSelectionListener

public void removeTreeSelectionListener(TreeSelectionListener x)
Удаляет x из списка слушателей, уведомляемых при каждом изменении набора выбранных TreePaths.
Определено в:
removeTreeSelectionListener в интерфейсе TreeSelectionModel
Параметры:
x - слушатель для удаления

getTreeSelectionListeners

public TreeSelectionListener[] getTreeSelectionListeners()
Возвращает массив всех слушателей выбора дерева, зарегистрированных в этой модели.
Возвращает:
все TreeSelectionListeners этой модели или пустой массив, если в данный момент не зарегистрировано ни одного слушателя выбора дерева
Начиная с версии:
1.4
См. также:
  • addTreeSelectionListener(TreeSelectionListener)
  • removeTreeSelectionListener(TreeSelectionListener)

fireValueChanged

protected void fireValueChanged(TreeSelectionEvent e)
Уведомляет всех слушателей, зарегистрированных для событий выбора дерева этого объекта.
Параметры:
e - событие, описывающее изменение
См. также:
  • addTreeSelectionListener(TreeSelectionListener)
  • EventListenerList

getListeners

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

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

TreeSelectionListener[] tsls = (TreeSelectionListener[])(m.getListeners(TreeSelectionListener.class));
Если таких слушателей нет, метод возвращает пустой массив.
Параметры типа:
T - тип слушателя
Параметры:
listenerType - тип запрашиваемых слушателей
Возвращает:
массив всех объектов, зарегистрированных в этом компоненте как FooListeners, или пустой массив, если такие слушатели не добавлены
Выбрасывает:
ClassCastException - если listenerType не указывает класс или интерфейс, реализующий java.util.EventListener
Начиная с версии:
1.3
См. также:
  • getTreeSelectionListeners()
  • getPropertyChangeListeners()

getSelectionRows

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

getMinSelectionRow

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

getMaxSelectionRow

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

isRowSelected

public boolean isRowSelected(int row)
Возвращает true, если выбрана строка с номером row.
Определено в:
isRowSelected в интерфейсе TreeSelectionModel
Параметры:
row - проверяемая строка
Возвращает:
выбрана ли строка

resetRowSelection

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

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

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

Определено в:
resetRowSelection в интерфейсе TreeSelectionModel

getLeadSelectionRow

public int getLeadSelectionRow()
Возвращает индекс ведущего элемента выбора, то есть индекс последнего добавленного элемента.
Определено в:
getLeadSelectionRow в интерфейсе TreeSelectionModel
Возвращает:
индекс ведущего элемента выбора

getLeadSelectionPath

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

addPropertyChangeListener

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

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

Определено в:
addPropertyChangeListener в интерфейсе TreeSelectionModel
Параметры:
listener - добавляемый PropertyChangeListener

removePropertyChangeListener

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

getPropertyChangeListeners

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

insureRowContinuity

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

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

arePathsContiguous

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

canPathsBeAdded

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

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, которая содержит более подробные описания для разработчиков, включая обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/tree/DefaultTreeSelectionModel.html

Spec-Zone.ru

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