Класс DefaultTreeSelectionModel
- Все реализуемые интерфейсы:
Serializable, Cloneable, TreeSelectionModel
- Известные прямые подклассы:
JTree.EmptySelectionModel
public class DefaultTreeSelectionModel extends Object implements Cloneable, Serializable, TreeSelectionModel
Метод resetRowSelection вызывается всеми методами, обновляющими выбранные пути. Если вы переопределяете любой из этих методов, чтобы фильтровать допустимые для выбора элементы, обязательно уведомите resetRowSelection, если не вызываете super. Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации подходит для кратковременного хранения или RMI между приложениями, работающими с одной и той же версией Swing. Начиная с версии 1.4 поддержка долгосрочного хранения всех JavaBeans добавлена в пакет java.beans. См. XMLEncoder.
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
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 в список слушателей. |
void |
addSelectionPath |
Добавляет путь к текущему выделению. |
void |
addSelectionPaths |
Добавляет пути к текущему выделению. |
void |
addTreeSelectionListener |
Добавляет x в список слушателей, получающих уведомления при каждом изменении набора выбранных TreePaths. |
protected boolean |
arePathsContiguous |
Возвращает true, если пути непрерывны или у этого объекта нет RowMapper. |
protected boolean |
canPathsBeAdded |
Проверяет, можно ли добавить заданный набор TreePaths. |
protected boolean |
canPathsBeRemoved |
Возвращает true, если пути можно удалить, не нарушив непрерывность модели. |
void |
clearSelection() |
Очищает текущее выделение. |
Object |
clone() |
Возвращает клон этого объекта с тем же выделением. |
protected void |
fireValueChanged |
Уведомляет всех слушателей, зарегистрированных для событий выделения в дереве у этого объекта. |
TreePath |
getLeadSelectionPath() |
Возвращает последний добавленный путь. |
int |
getLeadSelectionRow() |
Возвращает индекс ведущего элемента выделения. |
<T extends EventListener> |
getListeners |
Возвращает массив всех объектов, зарегистрированных в качестве 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 |
Возвращает true, если путь path входит в текущее выделение. |
boolean |
isRowSelected |
Возвращает true, если строка с идентификатором row выбрана. |
boolean |
isSelectionEmpty() |
Возвращает true, если выделение в данный момент пусто. |
protected void |
notifyPathChange |
Устарело. Начиная с версии JDK 1.7 |
void |
removePropertyChangeListener |
Удаляет PropertyChangeListener из списка слушателей. |
void |
removeSelectionPath |
Удаляет путь из выделения. |
void |
removeSelectionPaths |
Удаляет пути из выделения. |
void |
removeTreeSelectionListener |
Удаляет x из списка слушателей, получающих уведомления при каждом изменении набора выбранных TreePaths. |
void |
resetRowSelection() |
Обновляет сопоставление путей TreePath со строками для этого объекта. |
void |
setRowMapper |
Задает экземпляр RowMapper. |
void |
setSelectionMode |
Задает модель выделения, которая должна быть одной из следующих: SINGLE_TREE_SELECTION, CONTIGUOUS_TREE_SELECTION или DISCONTIGUOUS_TREE_SELECTION. |
void |
setSelectionPath |
Задает выделение, состоящее из пути path. |
void |
setSelectionPaths |
Задает выделение. |
String |
toString() |
Возвращает строку, описывающую и идентифицирующую свойства этого объекта. |
protected void |
updateLeadIndex() |
Обновляет переменную экземпляра leadIndex. |
Подробное описание полей
SELECTION_MODE_PROPERTY
public static final String SELECTION_MODE_PROPERTY
- См. также:
changeSupport
protected SwingPropertyChangeSupport changeSupport
selection
protected TreePath[] selection
listenerList
protected EventListenerList listenerList
rowMapper
protected transient RowMapper rowMapper
listSelectionModel
protected DefaultListSelectionModel listSelectionModel
selectionMode
protected int selectionMode
leadPath
protected TreePath leadPath
leadIndex
protected int leadIndex
leadRow
protected int leadRow
Подробное описание конструкторов
DefaultTreeSelectionModel
public DefaultTreeSelectionModel()
Подробное описание методов
setRowMapper
public void setRowMapper(RowMapper newMapper)
- Определено в:
-
setRowMapperв интерфейсеTreeSelectionModel - Параметры:
-
newMapper- задаваемый RowMapper
getRowMapper
public RowMapper getRowMapper()
- Определено в:
-
getRowMapperв интерфейсеTreeSelectionModel - Возвращает:
- экземпляр RowMapper, который может сопоставить TreePath со строкой
setSelectionMode
public void setSelectionMode(int mode)
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)
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)
path равен null.- Определено в:
-
addSelectionPathв интерфейсеTreeSelectionModel - Параметры:
-
path- новый путь для добавления к текущему выбору
addSelectionPaths
public void addSelectionPaths(TreePath[] paths)
paths равен null. Ведущим путем становится последний элемент в paths.
Если режим выбора — CONTIGUOUS_TREE_SELECTION и добавление новых путей приведет к несмежному выбору, возможны два результата: если TreePaths в paths смежны, выбором становятся эти TreePaths; в противном случае TreePaths не смежны, и выбором становится первый TreePath в paths.
- Определено в:
-
addSelectionPathsв интерфейсеTreeSelectionModel - Параметры:
-
paths- новый путь для добавления к текущему выбору
removeSelectionPath
public void removeSelectionPath(TreePath path)
path равен null.- Определено в:
-
removeSelectionPathв интерфейсеTreeSelectionModel - Параметры:
-
path- путь для удаления из выбора
removeSelectionPaths
public void removeSelectionPaths(TreePath[] paths)
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)
path входит в текущий выбор.- Определено в:
-
isPathSelectedв интерфейсеTreeSelectionModel - Параметры:
-
path- путь для проверки - Возвращает:
- входит ли
pathв текущий выбор
isSelectionEmpty
public boolean isSelectionEmpty()
- Определено в:
-
isSelectionEmptyв интерфейсеTreeSelectionModel - Возвращает:
- является ли выбор в данный момент пустым
clearSelection
public void clearSelection()
- Определено в:
-
clearSelectionв интерфейсеTreeSelectionModel
addTreeSelectionListener
public void addTreeSelectionListener(TreeSelectionListener x)
- Определено в:
-
addTreeSelectionListenerв интерфейсеTreeSelectionModel - Параметры:
-
x- новый слушатель для добавления
removeTreeSelectionListener
public void removeTreeSelectionListener(TreeSelectionListener x)
- Определено в:
-
removeTreeSelectionListenerв интерфейсеTreeSelectionModel - Параметры:
-
x- слушатель для удаления
getTreeSelectionListeners
public TreeSelectionListener[] getTreeSelectionListeners()
- Возвращает:
- все
TreeSelectionListeners этой модели или пустой массив, если в данный момент не зарегистрировано ни одного слушателя выбора дерева - Начиная с версии:
- 1.4
- См. также:
fireValueChanged
protected void fireValueChanged(TreeSelectionEvent e)
- Параметры:
-
e- событие, описывающее изменение - См. также:
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
- См. также:
getSelectionRows
public int[] getSelectionRows()
TreePaths, возвращаемыми методом getSelectionPaths, и результатом этого метода не обязательно существует взаимно однозначное соответствие. В частности, если TreePath не отображается (метод
RowMapper возвращает -1 для строки, соответствующей TreePath), соответствующая строка не включается в возвращаемый массив. Например, если выбор состоит из двух путей, A и B, причем A находится в строке 10, а B в данный момент не отображается, этот метод возвращает массив с единственным элементом 10.- Определено в:
-
getSelectionRowsв интерфейсеTreeSelectionModel - Возвращает:
- выбор в виде строк
getMinSelectionRow
public int getMinSelectionRow()
- Определено в:
-
getMinSelectionRowв интерфейсеTreeSelectionModel - Возвращает:
- наименьшее значение, полученное от RowMapper для текущего набора выбранных TreePaths
getMaxSelectionRow
public int getMaxSelectionRow()
- Определено в:
-
getMaxSelectionRowв интерфейсеTreeSelectionModel - Возвращает:
- наибольшее значение, полученное от RowMapper для текущего набора выбранных TreePaths
isRowSelected
public boolean isRowSelected(int row)
row.- Определено в:
-
isRowSelectedв интерфейсеTreeSelectionModel - Параметры:
-
row- проверяемая строка - Возвращает:
- выбрана ли строка
resetRowSelection
public void resetRowSelection()
Обычно вызывать этот метод не требуется: JTree и связанные с ним слушатели вызовут его за вас. Если вы реализуете собственный класс View, вызвать этот метод придется самостоятельно.
Метод вызовет insureRowContinuity, чтобы убедиться, что текущие выбранные TreePaths остаются допустимыми для заданного режима выбора.
- Определено в:
-
resetRowSelectionв интерфейсеTreeSelectionModel
getLeadSelectionRow
public int getLeadSelectionRow()
- Определено в:
-
getLeadSelectionRowв интерфейсеTreeSelectionModel - Возвращает:
- индекс ведущего элемента выбора
getLeadSelectionPath
public TreePath getLeadSelectionPath()
- Определено в:
-
getLeadSelectionPathв интерфейсеTreeSelectionModel - Возвращает:
- последний добавленный путь
addPropertyChangeListener
public void addPropertyChangeListener(PropertyChangeListener listener)
При изменении режима выбора будет сгенерировано событие PropertyChangeEvent.
- Определено в:
-
addPropertyChangeListenerв интерфейсеTreeSelectionModel - Параметры:
-
listener- добавляемый PropertyChangeListener
removePropertyChangeListener
public void removePropertyChangeListener(PropertyChangeListener listener)
- Определено в:
-
removePropertyChangeListenerв интерфейсеTreeSelectionModel - Параметры:
-
listener- удаляемый PropertyChangeListener
getPropertyChangeListeners
public PropertyChangeListener[] getPropertyChangeListeners()
DefaultTreeSelectionModel.- Возвращает:
- все
PropertyChangeListeners этой модели или пустой массив, если в данный момент не зарегистрировано ни одного слушателя изменения свойств - Начиная с версии:
- 1.4
- См. также:
insureRowContinuity
protected void insureRowContinuity()
TreePaths для текущего режима выбора. Если режим выбора — CONTIGUOUS_TREE_SELECTION и существует RowMapper, метод проверяет, что все строки смежны: при сортировке они идут по порядку, без пропусков. Если выбор не является смежным, он сбрасывается и содержит первый по порядку набор смежных строк. Если режим выбора — SINGLE_TREE_SELECTION и выбрано больше одного TreePath, выбор сбрасывается и содержит первый из выбранных путей.
arePathsContiguous
protected boolean arePathsContiguous(TreePath[] paths)
- Параметры:
-
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)
- Параметры:
-
paths- массивTreePathдля проверки - Возвращает:
- можно ли удалить пути, не нарушив непрерывность модели
notifyPathChange
@Deprecated protected void notifyPathChange(Vector<?> changedPaths, TreePath oldLeadSelection)
- Параметры:
-
changedPaths- вектор измененных путей -
oldLeadSelection- старый путь выбора
updateLeadIndex
protected void updateLeadIndex()
insureUniqueness
protected void insureUniqueness()
toString
clone
public Object clone() throws CloneNotSupportedException
- Переопределяет:
-
cloneв классеObject - Возвращает:
- копию этого экземпляра.
- Выбрасывает:
-
CloneNotSupportedException- экземпляры этого класса никогда не выбрасывают это исключение - См. также:
© 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