Класс 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 в дочерних узлах parent. |
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 |
Устанавливает, нужно ли проверять листовность, запрашивая getAllowsChildren() или isLeaf() у TreeNodes. |
void |
setRoot |
Устанавливает корень в root. |
void |
valueForPathChanged |
Это устанавливает пользовательский объект TreeNode, идентифицированный путём, и публикует изменение узла. |
Подробное описание полей
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- логическое значение, 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. Нулевой 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)
- Parameters:
-
node- родительский узел, из которого были удалены дочерние элементы -
childIndices- индексы удалённых дочерних элементов -
removedChildren- массив объектов дочерних элементов, которые были удалены
nodesChanged
public void nodesChanged(TreeNode node, int[] childIndices)
- Parameters:
-
node- изменённый узел -
childIndices- индексы изменённых дочерних элементов
nodeStructureChanged
public void nodeStructureChanged(TreeNode node)
- 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)
- Specified by:
-
addTreeModelListenerin interfaceTreeModel - Parameters:
-
l- прослушиватель для добавления - See Also:
removeTreeModelListener
public void removeTreeModelListener(TreeModelListener l)
- Specified by:
-
removeTreeModelListenerin interfaceTreeModel - Parameters:
-
l- прослушиватель для удаления - See Also:
getTreeModelListeners
public TreeModelListener[] getTreeModelListeners()
- Returns:
- все прослушиватели
TreeModelListenerэтой модели или пустой массив, если прослушиватели модели дерева в данный момент не зарегистрированы - Since:
- 1.4
- See Also:
fireTreeNodesChanged
protected void fireTreeNodesChanged(Object source, Object[] path, int[] childIndices, Object[] children)
- Parameters:
-
source- источникTreeModelEvent; обычноthis -
path- путь к родителю узлов, которые изменились; используйтеnullдля идентификации изменения корня -
childIndices- индексы изменённых элементов -
children- изменённые элементы
fireTreeNodesInserted
protected void fireTreeNodesInserted(Object source, Object[] path, int[] childIndices, Object[] children)
- Parameters:
-
source- источникTreeModelEvent; обычноthis -
path- путь к родителю, к которому были добавлены узлы -
childIndices- индексы новых элементов -
children- новые элементы
fireTreeNodesRemoved
protected void fireTreeNodesRemoved(Object source, Object[] path, int[] childIndices, Object[] children)
- Parameters:
-
source- источникTreeModelEvent; обычноthis -
path- путь к родителю, из которого были удалены узлы -
childIndices- индексы удалённых элементов -
children- удалённые элементы
fireTreeStructureChanged
protected void fireTreeStructureChanged(Object source, Object[] path, int[] childIndices, Object[] children)
- 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:
© 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