Spec-Zone.ru › OpenJDK 25

Класс 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.
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)
Задает, нужно ли проверять, является ли узел листовым, вызывая для TreeNodes getAllowsChildren() или isLeaf().
void setRoot(TreeNode root)
Устанавливает корень в значение root.
void valueForPathChanged(TreePath path, Object newValue)
Устанавливает пользовательский объект TreeNode, указанного в path, и отправляет событие об изменении узла.

Методы, объявленные в классе 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(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 — значение boolean: false, если любой узел может иметь дочерние узлы; true, если для каждого узла проверяется, может ли он иметь дочерние узлы
См. также:
  • asksAllowsChildren

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

setAsksAllowsChildren

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

asksAllowsChildren

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

setRoot

public void setRoot(TreeNode root)
Устанавливает корень в значение root. Значение null для 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(Object)

reload

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

valueForPathChanged

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

insertNodeInto

public void insertNodeInto(MutableTreeNode newChild, MutableTreeNode parent, int index)
Вызовите этот метод, чтобы вставить newChild в дочерние узлы родителя по индексу index. Затем будет вызван 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 — индексы вставленных дочерних узлов

nodesWereRemoved

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

nodesChanged

public void nodesChanged(TreeNode node, int[] childIndices)
Вызовите этот метод после изменения способа представления в дереве дочерних узлов, указанных в childIndices.
Параметры:
node — измененный узел
childIndices — индексы измененных дочерних узлов

nodeStructureChanged

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

getPathToRoot

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

getPathToRoot

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

addTreeModelListener

public void addTreeModelListener(TreeModelListener l)
Добавляет слушатель для TreeModelEvent, отправляемого после изменения дерева.
Определено в:
addTreeModelListener в интерфейсе TreeModel
Параметры:
l — добавляемый слушатель
См. также:
  • removeTreeModelListener(TreeModelListener)

removeTreeModelListener

public void removeTreeModelListener(TreeModelListener l)
Удаляет слушатель, ранее добавленный с помощью addTreeModelListener().
Определено в:
removeTreeModelListener в интерфейсе TreeModel
Параметры:
l — удаляемый слушатель
См. также:
  • addTreeModelListener(TreeModelListener)

getTreeModelListeners

public TreeModelListener[] getTreeModelListeners()
Возвращает массив всех слушателей модели дерева, зарегистрированных в этой модели.
Возвращает:
все TreeModelListenerы этой модели или пустой массив, если в данный момент не зарегистрировано ни одного слушателя модели дерева
Начиная с версии:
1.4
См. также:
  • addTreeModelListener(TreeModelListener)
  • removeTreeModelListener(TreeModelListener)

fireTreeNodesChanged

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

fireTreeNodesInserted

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

fireTreeNodesRemoved

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

fireTreeStructureChanged

protected void fireTreeStructureChanged(Object source, Object[] path, int[] childIndices, Object[] children)
Уведомляет всех слушателей, зарегистрировавших интерес к уведомлениям о событиях этого типа. Экземпляр события создается отложенно с использованием параметров, переданных методу fire.
Параметры:
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));
Если таких слушателей нет, этот метод возвращает пустой массив.
Параметры типа:
T — тип слушателя
Параметры:
listenerType — тип запрашиваемых слушателей
Возвращает:
массив всех объектов, зарегистрированных в этом компоненте в качестве FooListenerов, или пустой массив, если такие слушатели не добавлены
Выбрасывает:
ClassCastException — если listenerType не задает класс или интерфейс, реализующий java.util.EventListener
Начиная с версии:
1.3
См. также:
  • getTreeModelListeners()

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по 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/DefaultTreeModel.html

Spec-Zone.ru

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