Класс 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 |
Вызовите этот метод после изменения способа представления потомков, идентифицированных childIndicies, в дереве. |
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. Значение null для root означает, что дерево должно отображать ничего, и это допустимо.- Параметры:
-
root- новое значение корня дерева
getRoot
public Object getRoot()
- Определено в:
-
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)
- Определено в:
-
getChildв интерфейсеTreeModel - Параметры:
-
parent- узел в дереве, полученный из этого источника данных -
index- индекс возвращаемого дочернего узла - Возвращает:
- дочерний узел parent с индексом index
getChildCount
public int getChildCount(Object parent)
- Определено в:
-
getChildCountв интерфейсеTreeModel - Параметры:
-
parent- узел в дереве, полученный из этого источника данных - Возвращает:
- количество дочерних узлов узла parent
isLeaf
public boolean isLeaf(Object node)
askAllowsChildren.- Определено в:
-
isLeafв интерфейсеTreeModel - Параметры:
-
node- узел для проверки - Возвращает:
- true, если узел является листовым узлом
- См. также:
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)
- Parameters:
-
node- изменяемый узел -
childIndices- индексы измененных дочерних элементов
nodeStructureChanged
public void nodeStructureChanged(TreeNode node)
- Parameters:
-
node- изменяемый узел
getPathToRoot
public TreeNode[] getPathToRoot(TreeNode aNode)
- Parameters:
-
aNode- узел TreeNode, для которого требуется получить путь - Returns:
- массив TreeNodes, представляющий путь от корня
getPathToRoot
protected TreeNode[] getPathToRoot(TreeNode aNode, int depth)
- Parameters:
-
aNode- узел TreeNode, для которого требуется получить путь -
depth- целое число, указывающее количество шагов, уже сделанных к корню (при рекурсивных вызовах), используемое для определения размера возвращаемого массива - Returns:
- массив TreeNodes, представляющий путь от корня до указанного узла
addTreeModelListener
public void addTreeModelListener(TreeModelListener l)
- Specified by:
-
addTreeModelListenerв интерфейсеTreeModel - Parameters:
-
l- слушатель для добавления - See Also:
removeTreeModelListener
public void removeTreeModelListener(TreeModelListener l)
- Specified by:
-
removeTreeModelListenerв интерфейсеTreeModel - Parameters:
-
l- слушатель для удаления - See Also:
getTreeModelListeners
public TreeModelListener[] getTreeModelListeners()
- Returns:
- все слушатели
TreeModelListenerэтой модели или пустой массив, если слушатели TreeModel не зарегистрированы - 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, 2021, 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/17/docs/api/java.desktop/javax/swing/tree/DefaultTreeModel.html