Класс DefaultTreeModel
- Все реализуемые интерфейсы:
Serializable, TreeModel
public class DefaultTreeModel extends Object implements Serializable, TreeModel
Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации подходит для кратковременного хранения или использования RMI между приложениями, работающими с одной версией Swing. Начиная с версии 1.4, поддержка долговременного хранения всех JavaBeans добавлена в пакет java.beans. См. XMLEncoder.
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected boolean |
asksAllowsChildren |
Определяет, как метод isLeaf выясняет, является ли узел листовым. |
protected EventListenerList |
listenerList |
Слушатели. |
protected TreeNode |
root |
Корень дерева. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
DefaultTreeModel |
Создает дерево, в котором любой узел может иметь дочерние узлы. |
DefaultTreeModel |
Создает дерево, задавая, может ли любой узел иметь дочерние узлы или дочерние узлы могут иметь только определенные узлы. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addTreeModelListener |
Добавляет слушатель для TreeModelEvent, отправляемого после изменения дерева. |
boolean |
asksAllowsChildren() |
Сообщает, как определяются листовые узлы. |
protected void |
fireTreeNodesChanged |
Уведомляет всех слушателей, зарегистрировавших интерес к уведомлениям о событиях этого типа. |
protected void |
fireTreeNodesInserted |
Уведомляет всех слушателей, зарегистрировавших интерес к уведомлениям о событиях этого типа. |
protected void |
fireTreeNodesRemoved |
Уведомляет всех слушателей, зарегистрировавших интерес к уведомлениям о событиях этого типа. |
protected void |
fireTreeStructureChanged |
Уведомляет всех слушателей, зарегистрировавших интерес к уведомлениям о событиях этого типа. |
Object |
getChild |
Возвращает дочерний узел parent с индексом index в массиве дочерних узлов родителя. |
int |
getChildCount |
Возвращает количество дочерних узлов parent. |
int |
getIndexOfChild |
Возвращает индекс дочернего узла в родительском. |
<T extends EventListener> |
getListeners |
Возвращает массив всех объектов, зарегистрированных в этой модели в качестве FooListenerов. |
TreeNode[] |
getPathToRoot |
Строит цепочку родительских узлов узла вплоть до корневого узла включительно; исходный узел является последним элементом возвращаемого массива. |
protected TreeNode[] |
getPathToRoot |
Строит цепочку родительских узлов узла вплоть до корневого узла включительно; исходный узел является последним элементом возвращаемого массива. |
Object |
getRoot() |
Возвращает корень дерева. |
TreeModelListener[] |
getTreeModelListeners() |
Возвращает массив всех слушателей модели дерева, зарегистрированных в этой модели. |
void |
insertNodeInto |
Вызовите этот метод, чтобы вставить newChild в дочерние узлы родителя по индексу index. |
boolean |
isLeaf |
Возвращает, является ли указанный узел листовым. |
void |
nodeChanged |
Вызовите этот метод после изменения способа представления узла в дереве. |
void |
nodesChanged |
Вызовите этот метод после изменения способа представления в дереве дочерних узлов, указанных в childIndices. |
void |
nodeStructureChanged |
Вызовите этот метод, если вы полностью изменили дочерние узлы узла и дочерние узлы этих узлов... |
void |
nodesWereInserted |
Вызовите этот метод после вставки нескольких TreeNodes в узел. |
void |
nodesWereRemoved |
Вызовите этот метод после удаления нескольких TreeNodes из узла. |
void |
reload() |
Вызовите этот метод, если вы изменили TreeNodeы, от которых зависит эта модель. |
void |
reload |
Вызовите этот метод, если вы изменили TreeNodeы, от которых зависит эта модель. |
void |
removeNodeFromParent |
Вызовите этот метод, чтобы удалить узел из родительского узла. |
void |
removeTreeModelListener |
Удаляет слушатель, ранее добавленный с помощью addTreeModelListener(). |
void |
setAsksAllowsChildren |
Задает, нужно ли проверять, является ли узел листовым, вызывая для TreeNodes getAllowsChildren() или isLeaf(). |
void |
setRoot |
Устанавливает корень в значение root. |
void |
valueForPathChanged |
Устанавливает пользовательский объект TreeNode, указанного в path, и отправляет событие об изменении узла. |
Подробное описание полей
root
protected TreeNode root
listenerList
protected EventListenerList listenerList
asksAllowsChildren
protected boolean asksAllowsChildren
isLeaf выясняет, является ли узел листовым. Если значение true, узел является листовым, если он не допускает дочерние узлы. (Если он допускает дочерние узлы, то не является листовым, даже если у него нет дочерних узлов.) Это позволяет, например, различать узлы папок и файлов в файловой системе. Если значение false, любой узел без дочерних узлов считается листовым, и любой узел может получить дочерние узлы.
- См. также:
Подробное описание конструкторов
DefaultTreeModel
@ConstructorProperties("root") public DefaultTreeModel(TreeNode root) - Параметры:
-
root— объект TreeNode, являющийся корнем дерева - См. также:
DefaultTreeModel
public DefaultTreeModel(TreeNode root, boolean asksAllowsChildren)
- Параметры:
-
root— объект TreeNode, являющийся корнем дерева -
asksAllowsChildren— значение boolean: false, если любой узел может иметь дочерние узлы; true, если для каждого узла проверяется, может ли он иметь дочерние узлы - См. также:
Подробное описание методов
setAsksAllowsChildren
public void setAsksAllowsChildren(boolean newValue)
- Параметры:
-
newValue— если true, вызывается getAllowsChildren(), в противном случае — isLeaf()
asksAllowsChildren
public boolean asksAllowsChildren()
- Возвращает:
- true, если листовыми считаются только узлы, не допускающие дочерние узлы; false, если листовыми считаются узлы без дочерних узлов (даже если они могут их иметь)
- См. также:
setRoot
public void setRoot(TreeNode root)
root. Значение null для root означает, что дерево не должно ничего отображать; это допустимо.- Параметры:
-
root— новое значение корня дерева
getRoot
getIndexOfChild
public int getIndexOfChild(Object parent, Object child)
null, возвращает -1.- Определено в:
-
getIndexOfChildв интерфейсеTreeModel - Параметры:
-
parent— узел дерева, полученный из этого источника данных -
child— интересующий нас узел - Возвращает:
- индекс дочернего узла в родительском или -1, если родительский или дочерний узел равен
null
getChild
public Object getChild(Object parent, int index)
getChildCount
public int getChildCount(Object parent)
- Определено в:
-
getChildCountв интерфейсеTreeModel - Параметры:
-
parent— узел дерева, полученный из этого источника данных - Возвращает:
- количество дочерних узлов узла parent
isLeaf
reload
public void reload()
TreeNodeы, от которых зависит эта модель. Модель уведомит всех своих слушателей об изменении модели.valueForPathChanged
public void valueForPathChanged(TreePath path, Object newValue)
- Определено в:
-
valueForPathChangedв интерфейсеTreeModel - Параметры:
-
path— путь к узлу, измененному пользователем -
newValue— новое значение из TreeCellEditor
insertNodeInto
public void insertNodeInto(MutableTreeNode newChild, MutableTreeNode parent, int index)
- Параметры:
-
newChild— вставляемый дочерний узел -
parent— узел, к которому будет добавлен новый дочерний узел -
index— индекс среди дочерних узлов родителя
removeNodeFromParent
public void removeNodeFromParent(MutableTreeNode node)
- Параметры:
-
node— узел, который нужно удалить из родительского узла
nodeChanged
public void nodeChanged(TreeNode node)
- Параметры:
-
node— измененный узел
reload
public void reload(TreeNode node)
TreeNodeы, от которых зависит эта модель. Модель уведомит всех своих слушателей об изменении модели ниже указанного узла.- Параметры:
-
node— узел, ниже которого изменилась модель
nodesWereInserted
public void nodesWereInserted(TreeNode node, int[] childIndices)
- Параметры:
-
node— родительский узел, количество дочерних узлов которого увеличилось -
childIndices— индексы вставленных дочерних узлов
nodesWereRemoved
public void nodesWereRemoved(TreeNode node, int[] childIndices, Object[] removedChildren)
- Параметры:
-
node— родительский узел, из которого удалены дочерние узлы -
childIndices— индексы удаленных дочерних узлов -
removedChildren— массив удаленных дочерних объектов
nodesChanged
public void nodesChanged(TreeNode node, int[] childIndices)
- Параметры:
-
node— измененный узел -
childIndices— индексы измененных дочерних узлов
nodeStructureChanged
public void nodeStructureChanged(TreeNode node)
- Параметры:
-
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)
- Определено в:
-
addTreeModelListenerв интерфейсеTreeModel - Параметры:
-
l— добавляемый слушатель - См. также:
removeTreeModelListener
public void removeTreeModelListener(TreeModelListener l)
- Определено в:
-
removeTreeModelListenerв интерфейсеTreeModel - Параметры:
-
l— удаляемый слушатель - См. также:
getTreeModelListeners
public TreeModelListener[] getTreeModelListeners()
- Возвращает:
- все
TreeModelListenerы этой модели или пустой массив, если в данный момент не зарегистрировано ни одного слушателя модели дерева - Начиная с версии:
- 1.4
- См. также:
fireTreeNodesChanged
protected void fireTreeNodesChanged(Object source, Object[] path, int[] childIndices, Object[] children)
- Параметры:
-
source— источникTreeModelEvent; обычноthis -
path— путь к родительскому узлу измененных узлов; используйтеnull, чтобы указать, что изменился корень -
childIndices— индексы измененных элементов -
children— измененные элементы
fireTreeNodesInserted
protected void fireTreeNodesInserted(Object source, Object[] path, int[] childIndices, Object[] children)
- Параметры:
-
source— источникTreeModelEvent; обычноthis -
path— путь к родительскому узлу, в который добавлены узлы -
childIndices— индексы новых элементов -
children— новые элементы
fireTreeNodesRemoved
protected void fireTreeNodesRemoved(Object source, Object[] path, int[] childIndices, Object[] children)
- Параметры:
-
source— источникTreeModelEvent; обычноthis -
path— путь к родительскому узлу, из которого удалены узлы -
childIndices— индексы удаленных элементов -
children— удаленные элементы
fireTreeStructureChanged
protected void fireTreeStructureChanged(Object source, Object[] path, int[] childIndices, Object[] children)
- Параметры:
-
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
- См. также:
© 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