Spec-Zone.ru › OpenJDK 24

Класс DefaultTreeModel

java.lang.Object
javax.swing.tree.DefaultTreeModel
Все реализованные интерфейсы:
Serializable, TreeModel
public class DefaultTreeModel extends Object implements Serializable, TreeModel
Простая модель данных дерева, использующая узлы TreeNodes. Дополнительную информацию и примеры использования DefaultTreeModel см. в Разделе «Использование деревьев» в учебном пособии Java.

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

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

Модификатор и тип Поле Описание
protected boolean asksAllowsChildren
Определяет, как метод isLeaf определяет, является ли узел листом.
protected EventListenerList listenerList
Слушатели.
protected TreeNode root
Корень дерева.

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

Конструктор Описание
DefaultTreeModel(TreeNode root)
Создаёт дерево, в котором любой узел может иметь дочерние узлы.
DefaultTreeModel(TreeNode root, boolean asksAllowsChildren)
Создаёт дерево, определяя, может ли любой узел иметь дочерние узлы или только определённые узлы могут иметь дочерние узлы.

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

Модификатор и тип Метод Описание
void addTreeModelListener(TreeModelListener l)
Добавляет слушателя для события TreeModelEvent, публикуемого после изменения дерева.
boolean asksAllowsChildren()
Определяет, как определяются листья.
protected void fireTreeNodesChanged(Object source, Object[] path, int[] childIndices, Object[] children)
Уведомляет всех слушателей, проявивших интерес к уведомлениям об этом типе события.
protected void fireTreeNodesInserted(Object source, Object[] path, int[] childIndices, Object[] children)
Уведомляет всех слушателей, проявивших интерес к уведомлениям об этом типе события.
protected void fireTreeNodesRemoved(Object source, Object[] path, int[] childIndices, Object[] children)
Уведомляет всех слушателей, проявивших интерес к уведомлениям об этом типе события.
protected void fireTreeStructureChanged(Object source, Object[] path, int[] childIndices, Object[] children)
Уведомляет всех слушателей, проявивших интерес к уведомлениям об этом типе события.
Object getChild(Object parent, int index)
Возвращает дочерний узел parent с индексом index в массиве дочерних узлов родителя.
int getChildCount(Object parent)
Возвращает количество дочерних узлов parent.
int getIndexOfChild(Object parent, Object child)
Возвращает индекс дочернего узла в родительском узле.
<T extends EventListener>
T[]
getListeners(Class<T> listenerType)
Возвращает массив всех объектов, зарегистрированных в качестве FooListener в данной модели.
TreeNode[] getPathToRoot(TreeNode aNode)
Строит массив родителей узла до корневого узла включительно, где исходный узел является последним элементом в возвращённом массиве.
protected TreeNode[] getPathToRoot(TreeNode aNode, int depth)
Строит массив родителей узла до корневого узла включительно, где исходный узел является последним элементом в возвращённом массиве.
Object getRoot()
Возвращает корень дерева.
TreeModelListener[] getTreeModelListeners()
Возвращает массив всех слушателей модели дерева, зарегистрированных в этой модели.
void insertNodeInto(MutableTreeNode newChild, MutableTreeNode parent, int index)
Вызывается для вставки newChild в позицию index в дочерних узлах parent.
boolean isLeaf(Object node)
Возвращает, является ли указанный узел листом.
void nodeChanged(TreeNode node)
Вызовите этот метод после изменения представления узла в дереве.
void nodesChanged(TreeNode node, int[] childIndices)
Вызовите этот метод после изменения представления дочерних узлов, идентифицированных childIndices, в дереве.
void nodeStructureChanged(TreeNode node)
Вызовите этот метод, если вы полностью изменили дочерние узлы узла и дочерние узлы дочерних узлов...
void nodesWereInserted(TreeNode node, int[] childIndices)
Вызовите этот метод после вставки некоторых TreeNodes в узел.
void nodesWereRemoved(TreeNode node, int[] childIndices, Object[] removedChildren)
Вызовите этот метод после удаления некоторых TreeNodes из узла.
void reload()
Вызовите этот метод, если вы изменили TreeNode, от которых зависит эта модель.
void reload(TreeNode node)
Вызовите этот метод, если вы изменили TreeNode, от которых зависит эта модель.
void removeNodeFromParent(MutableTreeNode node)
Отправьте это сообщение, чтобы удалить узел из его родителя.
void removeTreeModelListener(TreeModelListener l)
Удаляет слушателя, ранее добавленного с помощью addTreeModelListener().
void setAsksAllowsChildren(boolean newValue)
Устанавливает, нужно ли проверять листовность, запрашивая getAllowsChildren() или isLeaf() у TreeNodes.
void setRoot(TreeNode root)
Устанавливает корень в root.
void valueForPathChanged(TreePath path, Object newValue)
Это устанавливает пользовательский объект TreeNode, идентифицированный путём, и публикует изменение узла.

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

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

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

root

protected TreeNode root
Корень дерева.

listenerList

protected EventListenerList listenerList
Прослушиватели.

asksAllowsChildren

protected boolean asksAllowsChildren
Определяет, как метод isLeaf определяет, является ли узел листом. Если значение true, узел является листом, если он не разрешает дочерние элементы. (Если он разрешает дочерние элементы, он не является листом, даже если дочерние элементы отсутствуют). Это позволяет, например, различать узлы папки и файла в файловой системе.

Если это значение false, то любой узел, не имеющий дочерних элементов, является листом, и любой узел может получить дочерние элементы.

См. также:
  • TreeNode.getAllowsChildren()
  • TreeModel.isLeaf(java.lang.Object)
  • setAsksAllowsChildren(boolean)

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

DefaultTreeModel

@ConstructorProperties("root") public DefaultTreeModel(TreeNode root)
Создаёт дерево, в котором любой узел может иметь дочерние элементы.
Параметры:
root - объект TreeNode, являющийся корнем дерева
См. также:
  • DefaultTreeModel(TreeNode, boolean)

DefaultTreeModel

public DefaultTreeModel(TreeNode root, boolean asksAllowsChildren)
Создаёт дерево, определяя, может ли любой узел иметь дочерние элементы или только определённые узлы могут иметь дочерние элементы.
Параметры:
root - объект TreeNode, являющийся корнем дерева
asksAllowsChildren - логическое значение, false, если любой узел может иметь дочерние элементы, true, если каждый узел должен проверить, может ли он иметь дочерние элементы
См. также:
  • asksAllowsChildren

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

setAsksAllowsChildren

public void setAsksAllowsChildren(boolean newValue)
Устанавливает, следует ли проверять лиственность, спрашивая getAllowsChildren() или isLeaf() у TreeNodes. Если newvalue равно true, вызывается getAllowsChildren(), в противном случае вызывается isLeaf().
Параметры:
newValue - если true, вызывается getAllowsChildren(), в противном случае вызывается isLeaf()

asksAllowsChildren

public boolean asksAllowsChildren()
Указывает, как определяются листовые узлы.
Возвращает:
true, если только узлы, не разрешающие дочерние элементы, являются листовыми узлами, false, если узлы без дочерних элементов (даже если разрешено) являются листовыми узлами
См. также:
  • asksAllowsChildren

setRoot

public void setRoot(TreeNode root)
Устанавливает корень в root. Нулевой root означает, что дерево должно ничего не отображать, и это допустимо.
Параметры:
root - новое значение корня дерева

getRoot

public Object getRoot()
Возвращает корень дерева. Возвращает null только если дерево не содержит узлов.
Определено в:
getRoot в интерфейсе TreeModel
Возвращает:
корень дерева

getIndexOfChild

public int getIndexOfChild(Object parent, Object child)
Возвращает индекс дочернего элемента в родительском элементе. Если родитель или дочерний элемент являются null, возвращает -1.
Определено в:
getIndexOfChild в интерфейсе TreeModel
Параметры:
parent - узел в дереве, полученный из этого источника данных
child - узел, который нас интересует
Возвращает:
индекс дочернего элемента в родительском элементе или -1, если родитель или дочерний элемент являются null

getChild

public Object getChild(Object parent, int index)
Возвращает дочерний элемент parent с индексом index в массиве дочерних элементов родителя. parent должен быть узлом, ранее полученным из этого источника данных. Не должно возвращать null, если index является допустимым индексом для parent (то есть index >= 0 && index < getChildCount(parent)).
Определено в:
getChild в интерфейсе TreeModel
Параметры:
parent - узел в дереве, полученный из этого источника данных
index - индекс дочернего элемента для возврата
Возвращает:
дочерний элемент parent с индексом index

getChildCount

public int getChildCount(Object parent)
Возвращает количество дочерних элементов parent. Возвращает 0, если узел является листом или если у него нет дочерних элементов. parent должен быть узлом, ранее полученным из этого источника данных.
Определено в:
getChildCount в интерфейсе TreeModel
Параметры:
parent - узел в дереве, полученный из этого источника данных
Возвращает:
количество дочерних элементов узла parent

isLeaf

public boolean isLeaf(Object node)
Возвращает, является ли указанный узел листовым узлом. Способ выполнения проверки зависит от настроек asksAllowsChildren.
Определено в:
isLeaf в интерфейсе TreeModel
Параметры:
node - узел для проверки
Возвращает:
true, если узел является листовым узлом
См. также:
  • asksAllowsChildren
  • TreeModel.isLeaf(java.lang.Object)

reload

public void reload()
Вызывайте этот метод, если вы изменили TreeNode, на которых зависит эта модель. Модель уведомит всех своих слушателей о том, что модель изменилась.

valueForPathChanged

public void valueForPathChanged(TreePath path, Object newValue)
Это устанавливает объект пользователя узла TreeNode, идентифицированного путем, и публикует изменение узла. Если вы используете пользовательские объекты в TreeModel, вам нужно будет унаследовать от этого класса и установить объект пользователя изменённого узла на нечто осмысленное.
Определено в:
valueForPathChanged в интерфейсе TreeModel
Параметры:
path - путь к узлу, который пользователь изменил
newValue - новое значение из TreeCellEditor

insertNodeInto

public void insertNodeInto(MutableTreeNode newChild, MutableTreeNode parent, int index)
Вызывайте это, чтобы вставить newChild в позицию index в дочерних элементах parent. Затем будет вызван метод nodesWereInserted, чтобы создать соответствующее событие. Это предпочтительный способ добавления дочерних элементов, так как он создаст соответствующее событие.
Параметры:
newChild - дочерний узел, который нужно вставить
parent - узел, к которому будут добавлены дочерние элементы нового узла
index - индекс дочерних элементов родителя

removeNodeFromParent

public void removeNodeFromParent(MutableTreeNode node)
Вызовите этот метод, чтобы удалить узел из родителя. Это вызовет nodesWereRemoved, чтобы создать соответствующее событие. Это предпочтительный способ удаления узла, так как он обрабатывает создание события за вас.
Параметры:
node - узел, который нужно удалить из родителя

nodeChanged

public void nodeChanged(TreeNode node)
Вызывайте этот метод после изменения способа представления узла в дереве.
Параметры:
node - изменённый узел

reload

public void reload(TreeNode node)
Вызывайте этот метод, если вы изменили TreeNode, на которых зависит эта модель. Модель уведомит всех своих слушателей о том, что модель изменилась ниже указанного узла.
Параметры:
node - узел, ниже которого модель изменилась

nodesWereInserted

public void nodesWereInserted(TreeNode node, int[] childIndices)
Вызывайте этот метод после вставки некоторых TreeNodes в узел. childIndices должны быть индексами новых элементов и должны быть отсортированы по возрастанию.
Параметры:
node - родительский узел, количество дочерних элементов которого увеличилось
childIndices - индексы вставленных дочерних элементов
END_OF_DOCUMENT_MARKER

nodesWereRemoved

public void nodesWereRemoved(TreeNode node, int[] childIndices, Object[] removedChildren)
Вызовите этот метод после удаления некоторых узлов TreeNode из узла. childIndices должны быть индексами удаленных элементов и должны быть отсортированы по возрастанию. А removedChildren должен быть массивом объектов дочерних элементов, которые были удалены.
Parameters:
node - родительский узел, из которого были удалены дочерние элементы
childIndices - индексы удалённых дочерних элементов
removedChildren - массив объектов дочерних элементов, которые были удалены

nodesChanged

public void nodesChanged(TreeNode node, int[] childIndices)
Вызовите этот метод после изменения способа представления дочерних элементов, идентифицированных с помощью childIndices, в дереве.
Parameters:
node - изменённый узел
childIndices - индексы изменённых дочерних элементов

nodeStructureChanged

public void nodeStructureChanged(TreeNode node)
Вызовите этот метод, если вы полностью изменили дочерние элементы узла и дочерние элементы его дочерних элементов... Это вызовет событие treeStructureChanged.
Parameters:
node - изменённый узел

getPathToRoot

public TreeNode[] getPathToRoot(TreeNode aNode)
Создаёт путь от родительских узлов узла до корневого узла включительно, где исходный узел является последним элементом в возвращаемом массиве. Длина возвращаемого массива задаёт глубину узла в дереве.
Parameters:
aNode - узел TreeNode, для которого нужно получить путь
Returns:
массив узлов TreeNode, задающий путь от корня

getPathToRoot

protected TreeNode[] getPathToRoot(TreeNode aNode, int depth)
Создаёт путь от родительских узлов узла до корневого узла включительно, где исходный узел является последним элементом в возвращаемом массиве. Длина возвращаемого массива задаёт глубину узла в дереве.
Parameters:
aNode - узел TreeNode, для которого нужно получить путь
depth - целое число, задающее количество шагов, уже сделанных к корню (при рекурсивных вызовах), используется для определения размера возвращаемого массива
Returns:
массив узлов TreeNode, задающий путь от корня к указанному узлу

addTreeModelListener

public void addTreeModelListener(TreeModelListener l)
Добавляет прослушиватель для события TreeModelEvent, отправляемого после изменения дерева.
Specified by:
addTreeModelListener in interface TreeModel
Parameters:
l - прослушиватель для добавления
See Also:
  • removeTreeModelListener(javax.swing.event.TreeModelListener)

removeTreeModelListener

public void removeTreeModelListener(TreeModelListener l)
Удаляет прослушиватель, ранее добавленный с помощью addTreeModelListener().
Specified by:
removeTreeModelListener in interface TreeModel
Parameters:
l - прослушиватель для удаления
See Also:
  • addTreeModelListener(javax.swing.event.TreeModelListener)

getTreeModelListeners

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

fireTreeNodesChanged

protected void fireTreeNodesChanged(Object source, Object[] path, int[] childIndices, Object[] children)
Уведомляет всех прослушивателей, которые зарегистрировали интерес к уведомлениям об этом типе события. Экземпляр события лениво создаётся с помощью параметров, переданных в метод fire.
Parameters:
source - источник TreeModelEvent; обычно this
path - путь к родителю узлов, которые изменились; используйте null для идентификации изменения корня
childIndices - индексы изменённых элементов
children - изменённые элементы

fireTreeNodesInserted

protected void fireTreeNodesInserted(Object source, Object[] path, int[] childIndices, Object[] children)
Уведомляет всех прослушивателей, которые зарегистрировали интерес к уведомлениям об этом типе события. Экземпляр события лениво создаётся с помощью параметров, переданных в метод fire.
Parameters:
source - источник TreeModelEvent; обычно this
path - путь к родителю, к которому были добавлены узлы
childIndices - индексы новых элементов
children - новые элементы

fireTreeNodesRemoved

protected void fireTreeNodesRemoved(Object source, Object[] path, int[] childIndices, Object[] children)
Уведомляет всех прослушивателей, которые зарегистрировали интерес к уведомлениям об этом типе события. Экземпляр события лениво создаётся с помощью параметров, переданных в метод fire.
Parameters:
source - источник TreeModelEvent; обычно this
path - путь к родителю, из которого были удалены узлы
childIndices - индексы удалённых элементов
children - удалённые элементы

fireTreeStructureChanged

protected void fireTreeStructureChanged(Object source, Object[] path, int[] childIndices, Object[] children)
Уведомляет всех прослушивателей, которые зарегистрировали интерес к уведомлениям об этом типе события. Экземпляр события лениво создаётся с помощью параметров, переданных в метод fire.
Parameters:
source - источник TreeModelEvent; обычно this
path - путь к родителю структуры, которая изменилась; используйте null для идентификации изменения корня
childIndices - индексы затронутых элементов
children - затронутые элементы

getListeners

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

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

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

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

Spec-Zone.ru

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