Spec-Zone.ru › OpenJDK 17

Класс DefaultTreeModel

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

Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими выпусками 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)
Вызовите этот метод после изменения способа представления потомков, идентифицированных childIndicies, в дереве.
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. Значение 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)
Возвращает значение, являющийся ли указанный узел листовым узлом. Способ проверки зависит от настроек askAllowsChildren.
Определено в:
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 в дочерних элементах parents. После этого вызывается 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)
Вызовите этот метод после изменения способа представления дочерних элементов, идентифицируемых childIndicies, в дереве.
Parameters:
node - изменяемый узел
childIndices - индексы измененных дочерних элементов

nodeStructureChanged

public void nodeStructureChanged(TreeNode node)
Вызовите этот метод, если вы полностью изменили дочерние элементы узла и дочерние элементы его дочерних элементов... Это опубликует событие treeStructureChanged.
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)
Добавляет слушателя событий TreeModelEvent, публикуемых после изменения дерева.
Specified by:
addTreeModelListener в интерфейсе TreeModel
Parameters:
l - слушатель для добавления
See Also:
  • removeTreeModelListener(javax.swing.event.TreeModelListener)

removeTreeModelListener

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

getTreeModelListeners

public TreeModelListener[] getTreeModelListeners()
Возвращает массив всех слушателей TreeModel, зарегистрированных в этой модели.
Returns:
все слушатели TreeModelListener этой модели или пустой массив, если слушатели TreeModel не зарегистрированы
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, 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

Spec-Zone.ru

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