Spec-Zone.ru › OpenJDK 8

Класс DefaultMutableTreeNode

  • java.lang.Object
    • javax.swing.tree.DefaultMutableTreeNode
Все реализованные интерфейсы:
Serializable, Cloneable, MutableTreeNode, TreeNode
Прямые известные подклассы:
JTree.DynamicUtilTreeNode

public class DefaultMutableTreeNode
extends Object
implements Cloneable, MutableTreeNode, Serializable

Узел DefaultMutableTreeNode является универсальным узлом в структуре данных дерева. Примеры использования узлов дерева DefaultMutableTreeNode см. в Руководстве по использованию деревьев в Java Tutorial.

Узел дерева может иметь не более одного родителя и 0 или более дочерних узлов. DefaultMutableTreeNode предоставляет операции для проверки и изменения родителя и дочерних узлов, а также операции для проверки дерева, частью которого является данный узел. Дерево узла — это набор всех узлов, которые можно достичь, начиная с данного узла и следуя всем возможным ссылкам к родителям и дочерним узлам. Узел без родителя является корнем своего дерева; узел без дочерних узлов является листом. Дерево может состоять из многих поддеревьев, каждый узел выступает в качестве корня своего поддерева.

Этот класс предоставляет перечисления для эффективного обхода дерева или поддерева в различных порядках или для следования пути между двумя узлами. Узел DefaultMutableTreeNode также может содержать ссылку на пользовательский объект, использование которого остается на усмотрение пользователя. Обращение к DefaultMutableTreeNode для получения его строкового представления с toString() возвращает строковое представление его пользовательского объекта.

Этот класс не потокобезопасен. Если вы планируете использовать DefaultMutableTreeNode (или дерево узлов TreeNode) в нескольких потоках, вам необходимо выполнить собственную синхронизацию. Хорошей практикой является синхронизация на корневом узле дерева.

Хотя DefaultMutableTreeNode реализует интерфейс MutableTreeNode и позволит вам добавить любую реализацию MutableTreeNode, не все методы в DefaultMutableTreeNode будут применимы ко всем реализациям MutableTreeNodes. Особенно в случае некоторых перечислений, использование некоторых из этих методов предполагает, что DefaultMutableTreeNode содержит только экземпляры DefaultMutableNode. Все методы TreeNode/MutableTreeNode будут вести себя в соответствии с определением, независимо от добавленных реализаций.

Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими версиями Swing. Текущая поддержка сериализации подходит для кратковременного хранения или RMI между приложениями, работающими в одной версии Swing. Начиная с версии 1.4, поддержка долгосрочного хранения всех JavaBeans™ была добавлена в пакет java.beans. Пожалуйста, обратитесь к XMLEncoder.

См. также:
MutableTreeNode

Поля

Модификатор и тип Поле и описание
protected boolean allowsChildren

true, если узел может иметь дочерние узлы

protected Vector children

массив дочерних узлов, может быть null, если у этого узла нет дочерних узлов

static Enumeration<TreeNode> EMPTY_ENUMERATION

перечисление, которое всегда пусто.

protected MutableTreeNode parent

родитель этого узла или null, если у этого узла нет родителя

protected Object userObject

необязательный пользовательский объект

Конструкторы

Конструктор и описание
DefaultMutableTreeNode()

Создаёт узел дерева без родителя и дочерних узлов, но допускающий дочерние узлы.

DefaultMutableTreeNode(Object userObject)

Создаёт узел дерева без родителя и дочерних узлов, но допускающий дочерние узлы, и инициализирует его заданным пользовательским объектом.

DefaultMutableTreeNode(Object userObject, boolean allowsChildren)

Создаёт узел дерева без родителя и дочерних узлов, инициализированный заданным пользовательским объектом, и допускающий дочерние узлы только при указании.

Методы

Модификатор и тип Метод и описание
void add(MutableTreeNode newChild)

Удаляет newChild из своего родителя и делает его дочерним узлом этого узла, добавив его в конец массива дочерних узлов этого узла.

Enumeration breadthFirstEnumeration()

Создаёт и возвращает перечисление, которое обходит поддерево, укоренённое в этом узле, в порядке обхода по ширине.

Enumeration children()

Создаёт и возвращает перечисление дочерних узлов этого узла в прямом порядке.

Object clone()

Переопределено для того, чтобы сделать clone общедоступным.

Enumeration depthFirstEnumeration()

Создаёт и возвращает перечисление, которое обходит поддерево, укоренённое в этом узле, в порядке обхода по глубине.

boolean getAllowsChildren()

Возвращает true, если этому узлу разрешено иметь дочерние узлы.

TreeNode getChildAfter(TreeNode aChild)

Возвращает дочерний узел в массиве дочерних узлов этого узла, который непосредственно следует за aChild, который должен быть дочерним узлом этого узла.

TreeNode getChildAt(int index)

Возвращает дочерний узел по указанному индексу в массиве дочерних узлов этого узла.

TreeNode getChildBefore(TreeNode aChild)

Возвращает дочерний узел в массиве дочерних узлов этого узла, который непосредственно предшествует aChild, который должен быть дочерним узлом этого узла.

int getChildCount()

Возвращает количество дочерних узлов этого узла.

int getDepth()

Возвращает глубину дерева, укоренённого в этом узле — наибольшее расстояние от этого узла до листа.

TreeNode getFirstChild()

Возвращает первый дочерний узел этого узла.

DefaultMutableTreeNode getFirstLeaf()

Находит и возвращает первый лист, который является потомком этого узла — либо этот узел, либо первый лист первого дочернего узла.

int getIndex(TreeNode aChild)

Возвращает индекс указанного дочернего узла в массиве дочерних узлов этого узла.

TreeNode getLastChild()

Возвращает последний дочерний узел этого узла.

DefaultMutableTreeNode getLastLeaf()

Находит и возвращает последний лист, который является потомком этого узла — либо этот узел, либо последний лист последнего дочернего узла.

int getLeafCount()

Возвращает общее количество листов, которые являются потомками этого узла.

int getLevel()

Возвращает количество уровней над этим узлом — расстояние от корня до этого узла.

DefaultMutableTreeNode getNextLeaf()

Возвращает лист после этого узла или null, если этот узел является последним листом в дереве.

DefaultMutableTreeNode getNextNode()

Возвращает узел, следующий за этим узлом в обходе дерева в порядке прямой обхода.

DefaultMutableTreeNode getNextSibling()

Возвращает следующего брата этого узла в массиве дочерних узлов родителя.

TreeNode getParent()

Возвращает родителя этого узла или null, если у этого узла нет родителя.

TreeNode[] getPath()

Возвращает путь от корня к этому узлу.

protected TreeNode[] getPathToRoot(TreeNode aNode, int depth)

Создаёт родителей узла до корневого узла включительно, где исходный узел является последним элементом в возвращаемом массиве.

DefaultMutableTreeNode getPreviousLeaf()

Возвращает лист перед этим узлом или null, если этот узел является первым листом в дереве.

DefaultMutableTreeNode getPreviousNode()

Возвращает узел, предшествующий этому узлу в обходе дерева в порядке прямой обхода.

DefaultMutableTreeNode getPreviousSibling()

Возвращает предыдущего брата этого узла в массиве дочерних узлов родителя.

TreeNode getRoot()

Возвращает корень дерева, содержащего этот узел.

TreeNode getSharedAncestor(DefaultMutableTreeNode aNode)

Возвращает ближайшего общего предка этого узла и aNode.

int getSiblingCount()

Возвращает количество братьев этого узла.

Object getUserObject()

Возвращает пользовательский объект этого узла.

Object[] getUserObjectPath()

Возвращает путь пользовательского объекта от корня к этому узлу.

void insert(MutableTreeNode newChild, int childIndex)

Удаляет newChild из его текущего родителя (если у него есть родитель), устанавливает родителя дочернего узла в этот узел, а затем добавляет дочерний узел в массив дочерних узлов этого узла по индексу childIndex.

boolean isLeaf()

Возвращает true, если у этого узла нет дочерних узлов.

boolean isNodeAncestor(TreeNode anotherNode)

Возвращает true, если anotherNode является предком этого узла — если это этот узел, родитель этого узла или предок родителя этого узла.

boolean isNodeChild(TreeNode aNode)

Возвращает true, если aNode является дочерним узлом этого узла.

boolean isNodeDescendant(DefaultMutableTreeNode anotherNode)

Возвращает true, если anotherNode является потомком этого узла — если это этот узел, один из дочерних узлов этого узла или потомок одного из дочерних узлов этого узла.

boolean isNodeRelated(DefaultMutableTreeNode aNode)

Возвращает true тогда и только тогда, когда aNode находится в том же дереве, что и этот узел.

boolean isNodeSibling(TreeNode anotherNode)

Возвращает true, если anotherNode является братом этого узла (имеет того же родителя, что и этот узел).

boolean isRoot()

Возвращает true, если этот узел является корнем дерева.

Enumeration pathFromAncestorEnumeration(TreeNode ancestor)

Создаёт и возвращает перечисление, которое следует по пути от ancestor к этому узлу.

Enumeration postorderEnumeration()

Создаёт и возвращает перечисление, которое обходит поддерево, укоренённое в этом узле, в порядке обратного обхода.

Enumeration preorderEnumeration()

Создаёт и возвращает перечисление, которое обходит поддерево, укоренённое в этом узле, в порядке прямой обхода.

void remove(int childIndex)

Удаляет дочерний узел по указанному индексу из дочерних узлов этого узла и устанавливает родителя этого узла в null.

void remove(MutableTreeNode aChild)

Удаляет aChild из массива дочерних узлов этого узла, присваивая ему родителя null.

void removeAllChildren()

Удаляет все дочерние узлы этого узла, устанавливая их родителей в null.

void removeFromParent()

Удаляет поддерево, укоренённое в этом узле, из дерева, присваивая этому узлу родителя null.

void setAllowsChildren(boolean allows)

Определяет, разрешено ли этому узлу иметь дочерние узлы.

void setParent(MutableTreeNode newParent)

Устанавливает родителя этого узла в newParent, но не изменяет массив дочерних узлов родителя.

void setUserObject(Object userObject)

Устанавливает пользовательский объект для этого узла в userObject.

String toString()

Возвращает результат отправки toString() пользовательскому объекту этого узла или пустую строку, если у узла нет пользовательского объекта.

Методы, унаследованные от класса java.lang.Object

equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Поля

EMPTY_ENUMERATION

public static final Enumeration<TreeNode> EMPTY_ENUMERATION

Перечисление, которое всегда пустое. Используется при запросе перечисления дочерних элементов узла-листа.

parent

protected MutableTreeNode parent

родительский узел, или null, если у этого узла нет родителя

children

protected Vector children

массив дочерних элементов, может быть null, если у этого узла нет дочерних элементов

userObject

protected transient Object userObject

дополнительный пользовательский объект

allowsChildren

protected boolean allowsChildren

true, если узел может иметь дочерние элементы

Конструкторы

DefaultMutableTreeNode

public DefaultMutableTreeNode()

Создаёт узел дерева, у которого нет родителя и дочерних элементов, но который позволяет иметь дочерние элементы.

DefaultMutableTreeNode

public DefaultMutableTreeNode(Object userObject)

Создаёт узел дерева без родителя, без дочерних элементов, но который позволяет иметь дочерние элементы, и инициализирует его указанным пользовательским объектом.

Параметры:
userObject - объект, предоставленный пользователем, который составляет данные узла

DefaultMutableTreeNode

public DefaultMutableTreeNode(Object userObject,
                              boolean allowsChildren)

Создаёт узел дерева без родителя, без дочерних элементов, инициализированный указанным пользовательским объектом, и который позволяет иметь дочерние элементы только при указании.

Параметры:
userObject - объект, предоставленный пользователем, который составляет данные узла
allowsChildren - если true, узел может иметь дочерние узлы — в противном случае он всегда является узлом-листом

Методы

insert

public void insert(MutableTreeNode newChild,
                   int childIndex)

Удаляет newChild из его текущего родителя (если у него есть родитель), устанавливает родителя дочернего узла в этот узел, а затем добавляет дочерний узел в массив дочерних элементов этого узла по индексу childIndex. newChild не должен быть null и не должен быть предком этого узла.

Задано в:
insert в интерфейсе MutableTreeNode
Параметры:
newChild - MutableTreeNode для вставки под этот узел
childIndex - индекс в массиве дочерних элементов этого узла, где должен быть вставлен этот узел
Исключения:
ArrayIndexOutOfBoundsException - если childIndex вне диапазона
IllegalArgumentException - если newChild null или является предком этого узла
IllegalStateException - если этот узел не разрешает иметь дочерние элементы
См. также:
isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)

remove

public void remove(int childIndex)

Удаляет дочерний элемент по указанному индексу из дочерних элементов этого узла и устанавливает родителя этого узла в null. Дочерний узел для удаления должен быть MutableTreeNode.

Задано в:
remove в интерфейсе MutableTreeNode
Параметры:
childIndex - индекс в массиве дочерних элементов этого узла дочернего узла для удаления
Исключения:
ArrayIndexOutOfBoundsException - если childIndex вне диапазона

setParent

public void setParent(MutableTreeNode newParent)

Устанавливает родителя этого узла в newParent, но не изменяет массив дочерних элементов родителя. Этот метод вызывается из insert() и remove() для переназначения родителя дочернего элемента, его не следует вызывать из других мест.

Задано в:
setParent в интерфейсе MutableTreeNode
Параметры:
newParent - новый родитель этого узла

getParent

public TreeNode getParent()

Возвращает родительский узел этого узла или null, если у этого узла нет родителя.

Задано в:
getParent в интерфейсе TreeNode
Возвращает:
родительский узел этого узла, или null, если у этого узла нет родителя

getChildAt

public TreeNode getChildAt(int index)

Возвращает дочерний элемент по указанному индексу в массиве дочерних элементов этого узла.

Задано в:
getChildAt в интерфейсе TreeNode
Параметры:
index - индекс в массиве дочерних элементов этого узла
Возвращает:
узел в массиве дочерних элементов этого узла по указанному индексу
Исключения:
ArrayIndexOutOfBoundsException - если index вне диапазона

getChildCount

public int getChildCount()

Возвращает количество дочерних элементов этого узла.

Задано в:
getChildCount в интерфейсе TreeNode
Возвращает:
целое число, представляющее количество дочерних элементов этого узла

getIndex

public int getIndex(TreeNode aChild)

Возвращает индекс указанного дочернего элемента в массиве дочерних элементов этого узла. Если указанный узел не является дочерним элементом этого узла, возвращает -1. Этот метод выполняет линейный поиск и имеет сложность O(n), где n — количество дочерних элементов.

Задано в:
getIndex в интерфейсе TreeNode
Параметры:
aChild - TreeNode для поиска среди дочерних элементов этого узла
Возвращает:
целое число, представляющее индекс узла в массиве дочерних элементов этого узла, или -1 если указанный узел не является дочерним элементом этого узла
Исключения:
IllegalArgumentException - если aChild null

children

public Enumeration children()

Создаёт и возвращает перечисление дочерних элементов этого узла в порядке прямой обходки. Изменение массива дочерних элементов этого узла делает недействительными все перечисления дочерних элементов, созданные до изменения.

Задано в:
children в интерфейсе TreeNode
Возвращает:
перечисление дочерних элементов этого узла

setAllowsChildren

public void setAllowsChildren(boolean allows)

Определяет, разрешено ли этому узлу иметь дочерние элементы. Если allows false, все дочерние элементы этого узла удаляются.

Примечание: по умолчанию узел разрешает иметь дочерние элементы.

Параметры:
allows - true, если этому узлу разрешено иметь дочерние элементы

getAllowsChildren

public boolean getAllowsChildren()

Возвращает true, если этому узлу разрешено иметь дочерние элементы.

Задано в:
getAllowsChildren в интерфейсе TreeNode
Возвращает:
true, если этому узлу разрешено иметь дочерние элементы, иначе false

setUserObject

public void setUserObject(Object userObject)

Устанавливает пользовательский объект для этого узла в userObject.

Задано в:
setUserObject в интерфейсе MutableTreeNode
Параметры:
userObject - объект, представляющий данные, заданные пользователем для этого узла
См. также:
getUserObject(), toString()

getUserObject

public Object getUserObject()

Возвращает пользовательский объект этого узла.

Возвращает:
объект, хранящийся в этом узле пользователем
См. также:
setUserObject(java.lang.Object), toString()

removeFromParent

public void removeFromParent()

Удаляет поддерево, укоренённое в этом узле, из дерева, присваивая этому узлу родителя null. Ничего не делает, если этот узел является корнем своего дерева.

Задано в:
removeFromParent в интерфейсе MutableTreeNode

remove

public void remove(MutableTreeNode aChild)

Удаляет aChild из массива дочерних элементов этого узла, присваивая ему родителя null.

Задано в:
remove в интерфейсе MutableTreeNode
Параметры:
aChild - дочерний элемент этого узла для удаления
Исключения:
IllegalArgumentException - если aChild null или не является дочерним элементом этого узла

removeAllChildren

public void removeAllChildren()

Удаляет всех дочерних элементов этого узла, устанавливая их родителей в null. Если у этого узла нет дочерних элементов, этот метод ничего не делает.

add

public void add(MutableTreeNode newChild)

Удаляет newChild из его родителя и делает его дочерним элементом этого узла, добавив его в конец массива дочерних элементов этого узла.

Параметры:
newChild - узел для добавления в качестве дочернего элемента этого узла
Исключения:
IllegalArgumentException - если newChild null
IllegalStateException - если этот узел не разрешает иметь дочерние элементы
См. также:
insert(javax.swing.tree.MutableTreeNode, int)

isNodeAncestor

public boolean isNodeAncestor(TreeNode anotherNode)

Возвращает true, если anotherNode является предком этого узла — если это сам узел, родитель этого узла или предок родителя этого узла. (Примечание: узел считается предком самого себя.) Если anotherNode null, этот метод возвращает false. Эта операция в худшем случае имеет сложность O(h), где h — расстояние от корня до этого узла.

Параметры:
anotherNode - узел для проверки в качестве предка этого узла
Возвращает:
true, если этот узел является потомком anotherNode
См. также:
isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode), getSharedAncestor(javax.swing.tree.DefaultMutableTreeNode)

isNodeDescendant

public boolean isNodeDescendant(DefaultMutableTreeNode anotherNode)

Возвращает true, если anotherNode является потомком этого узла — если это сам узел, один из дочерних элементов этого узла или потомок одного из дочерних элементов этого узла. Примечание: узел считается потомком самого себя. Если anotherNode null, возвращает false. Эта операция в худшем случае имеет сложность O(h), где h — расстояние от корня до anotherNode.

Параметры:
anotherNode - узел для проверки в качестве потомка этого узла
Возвращает:
true, если этот узел является предком anotherNode
См. также:
isNodeAncestor(javax.swing.tree.TreeNode), getSharedAncestor(javax.swing.tree.DefaultMutableTreeNode)

getSharedAncestor

public TreeNode getSharedAncestor(DefaultMutableTreeNode aNode)

Возвращает ближайшего общего предка этого узла и aNode. Возвращает null, если такого предка не существует — если этот узел и aNode находятся в разных деревьях или если aNode null. Узел считается предком самого себя.

Параметры:
aNode - узел для поиска общего предка
Возвращает:
самый близкий общий предок данного узла и aNode, или null, если такого нет
См. также:
isNodeAncestor(javax.swing.tree.TreeNode), isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)

isNodeRelated

public boolean isNodeRelated(DefaultMutableTreeNode aNode)

Возвращает true тогда и только тогда, когда aNode находится в том же дереве, что и этот узел. Возвращает false, если aNode равно null.

Возвращает:
true, если aNode находится в том же дереве, что и этот узел; false, если aNode равно null
См. также:
getSharedAncestor(javax.swing.tree.DefaultMutableTreeNode), getRoot()

getDepth

public int getDepth()

Возвращает глубину дерева с корнем в этом узле — наибольшее расстояние от этого узла до листа. Если у этого узла нет дочерних узлов, возвращает 0. Эта операция значительно дороже, чем getLevel(), поскольку для её выполнения требуется обход всего дерева с корнем в этом узле.

Возвращает:
глубину дерева с корнем в этом узле
См. также:
getLevel()

getLevel

public int getLevel()

Возвращает количество уровней над этим узлом — расстояние от корня до этого узла. Если этот узел является корнем, возвращает 0.

Возвращает:
количество уровней над этим узлом
См. также:
getDepth()

getPath

public TreeNode[] getPath()

Возвращает путь от корня к этому узлу. Последний элемент пути — это сам узел.

Возвращает:
массив объектов TreeNode, представляющий путь, где первый элемент — корень, а последний — этот узел.

getPathToRoot

protected TreeNode[] getPathToRoot(TreeNode aNode,
                                   int depth)

Строит массив предков узла до и включая корень, где исходный узел является последним элементом возвращаемого массива. Длина возвращаемого массива указывает глубину узла в дереве.

Параметры:
aNode - TreeNode, для которого требуется получить путь
depth - целое число, указывающее количество шагов, уже сделанных к корню (при рекурсивных вызовах), используется для определения размера возвращаемого массива
Возвращает:
массив TreeNodes, представляющий путь от корня к указанному узлу

getUserObjectPath

public Object[] getUserObjectPath()

Возвращает путь объекта пользователя от корня до этого узла. Если у некоторых TreeNode в пути отсутствуют объекты пользователя, возвращаемый путь будет содержать null.

getRoot

public TreeNode getRoot()

Возвращает корень дерева, содержащего этот узел. Корень — это предок с null-родителями.

Возвращает:
корень дерева, содержащего этот узел
См. также:
isNodeAncestor(javax.swing.tree.TreeNode)

isRoot

public boolean isRoot()

Возвращает true, если этот узел является корнем дерева. Корень — единственный узел в дереве с null-родителем; каждое дерево имеет ровно один корень.

Возвращает:
true, если этот узел является корнем своего дерева

getNextNode

public DefaultMutableTreeNode getNextNode()

Возвращает узел, следующий за этим узлом в обходе дерева этого узла в порядке обхода по прямым потомкам. Возвращает null, если этот узел — последний узел обхода. Это неэффективный способ обхода всего дерева; используйте перечисление вместо этого.

Возвращает:
узел, следующий за этим узлом в обходе по прямым потомкам, или null, если этот узел последний
См. также:
preorderEnumeration()

getPreviousNode

public DefaultMutableTreeNode getPreviousNode()

Возвращает узел, предшествующий этому узлу в обходе дерева этого узла в порядке обхода по прямым потомкам. Возвращает null, если этот узел — первый узел обхода — корень дерева. Это неэффективный способ обхода всего дерева; используйте перечисление вместо этого.

Возвращает:
узел, предшествующий этому узлу в обходе по прямым потомкам, или null, если этот узел первый
См. также:
preorderEnumeration()

preorderEnumeration

public Enumeration preorderEnumeration()

Создаёт и возвращает перечисление, которое обходит поддерево с корнем в этом узле в порядке обхода по прямым потомкам. Первый узел, возвращаемый методом перечисления nextElement(), — это этот узел.

Изменение дерева путём вставки, удаления или перемещения узла делает недействительными все перечисления, созданные до внесения изменений.

Возвращает:
перечисление для обхода дерева в порядке обхода по прямым потомкам
См. также:
postorderEnumeration()

postorderEnumeration

public Enumeration postorderEnumeration()

Создаёт и возвращает перечисление, которое обходит поддерево с корнем в этом узле в порядке обратного обхода по прямым потомкам. Первый узел, возвращаемый методом перечисления nextElement(), — это самый левый лист. Это то же самое, что обход в глубину.

Изменение дерева путём вставки, удаления или перемещения узла делает недействительными все перечисления, созданные до внесения изменений.

Возвращает:
перечисление для обхода дерева в порядке обратного обхода по прямым потомкам
См. также:
depthFirstEnumeration(), preorderEnumeration()

breadthFirstEnumeration

public Enumeration breadthFirstEnumeration()

Создаёт и возвращает перечисление, которое обходит поддерево с корнем в этом узле в порядке обхода по ширине. Первый узел, возвращаемый методом перечисления nextElement(), — это этот узел.

Изменение дерева путём вставки, удаления или перемещения узла делает недействительными все перечисления, созданные до внесения изменений.

Возвращает:
перечисление для обхода дерева в порядке обхода по ширине
См. также:
depthFirstEnumeration()

depthFirstEnumeration

public Enumeration depthFirstEnumeration()

Создаёт и возвращает перечисление, которое обходит поддерево с корнем в этом узле в порядке обхода в глубину. Первый узел, возвращаемый методом перечисления nextElement(), — это самый левый лист. Это то же самое, что обратный обход по прямым потомкам.

Изменение дерева путём вставки, удаления или перемещения узла делает недействительными все перечисления, созданные до внесения изменений.

Возвращает:
перечисление для обхода дерева в порядке обхода в глубину
См. также:
breadthFirstEnumeration(), postorderEnumeration()

pathFromAncestorEnumeration

public Enumeration pathFromAncestorEnumeration(TreeNode ancestor)

Создаёт и возвращает перечисление, которое следует по пути от ancestor до этого узла. Метод перечисления nextElement() сначала возвращает ancestor, затем дочерний узел ancestor, являющийся предком этого узла, и так далее, и, наконец, возвращает этот узел. Создание перечисления — O(m), где m — количество узлов между этим узлом и ancestor, включительно. Каждый вызов метода nextElement() — O(1).

Изменение дерева путём вставки, удаления или перемещения узла делает недействительными все перечисления, созданные до внесения изменений.

Возвращает:
перечисление для следования по пути от предка этого узла до него
Исключения:
IllegalArgumentException - если ancestor не является предком этого узла
См. также:
isNodeAncestor(javax.swing.tree.TreeNode), isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)

isNodeChild

public boolean isNodeChild(TreeNode aNode)

Возвращает true, если aNode является дочерним узлом этого узла. Если aNode равно null, этот метод возвращает false.

Возвращает:
true, если aNode является дочерним узлом этого узла; false, если aNode равно null

getFirstChild

public TreeNode getFirstChild()

Возвращает первый дочерний узел этого узла. Если у этого узла нет дочерних узлов, выбрасывает NoSuchElementException.

Возвращает:
первый дочерний узел этого узла
Исключения:
NoSuchElementException - если у этого узла нет дочерних узлов

getLastChild

public TreeNode getLastChild()

Возвращает последний дочерний узел этого узла. Если у этого узла нет дочерних узлов, выбрасывает NoSuchElementException.

Возвращает:
последний дочерний узел этого узла
Исключения:
NoSuchElementException - если у этого узла нет дочерних узлов

getChildAfter

public TreeNode getChildAfter(TreeNode aChild)

Возвращает дочерний узел в массиве дочерних узлов этого узла, который следует сразу после aChild, который должен быть дочерним узлом этого узла. Если aChild — последний дочерний узел, возвращает null. Этот метод выполняет линейный поиск дочерних узлов этого узла для aChild и имеет сложность O(n), где n — количество дочерних узлов; для обхода всего массива дочерних узлов используйте перечисление.

Возвращает:
дочерний узел этого узла, который следует сразу после %%%CODE_BLOCK_323%%
Исключения:
IllegalArgumentException - если aChild равен null или не является дочерним узлом этого узла
См. также:
children

getChildBefore

public TreeNode getChildBefore(TreeNode aChild)

Возвращает дочерний узел в массиве дочерних узлов этого узла, который непосредственно предшествует aChild, который должен быть дочерним узлом этого узла. Если aChild — первый дочерний узел, возвращает null. Этот метод выполняет линейный поиск дочерних узлов этого узла для aChild и имеет сложность O(n), где n — количество дочерних узлов.

Возвращает:
дочерний узел этого узла, который непосредственно предшествует aChild
Исключения:
IllegalArgumentException - если aChild равен null или не является дочерним узлом этого узла

isNodeSibling

public boolean isNodeSibling(TreeNode anotherNode)

Возвращает true, если anotherNode является братом (имеет того же родителя, что и) этого узла. Узел является своим собственным братом. Если anotherNode равен null, возвращает false.

Параметры:
anotherNode - узел для проверки как брата данного узла
Возвращает:
true, если anotherNode является братом этого узла

getSiblingCount

public int getSiblingCount()

Возвращает количество братьев этого узла. Узел является своим собственным братом (если у него нет родителя или нет братьев, этот метод возвращает 1).

Возвращает:
количество дочерних узлов этого узла

getNextSibling

public DefaultMutableTreeNode getNextSibling()

Возвращает следующего брата этого узла в массиве дочерних узлов родителя. Возвращает null, если у этого узла нет родителя или он является последним дочерним узлом родителя. Этот метод выполняет линейный поиск со сложностью O(n), где n — количество дочерних узлов; для обхода всего массива используйте перечисление дочерних узлов родителя вместо этого.

Возвращает:
брат этого узла, который непосредственно следует за этим узлом
См. также:
children

getPreviousSibling

public DefaultMutableTreeNode getPreviousSibling()

Возвращает предыдущего брата этого узла в массиве дочерних узлов родителя. Возвращает null, если у этого узла нет родителя или он является первым дочерним узлом родителя. Этот метод выполняет линейный поиск со сложностью O(n), где n — количество дочерних узлов.

Возвращает:
брат этого узла, который непосредственно предшествует этому узлу

isLeaf

public boolean isLeaf()

Возвращает true, если у этого узла нет дочерних узлов. Чтобы отличить узлы, у которых нет дочерних узлов, от узлов, которые не могут иметь дочерних узлов (например, для различения файлов и пустых каталогов), используйте этот метод в сочетании с getAllowsChildren

Определено в:
isLeaf в интерфейсе TreeNode
Возвращает:
true, если у этого узла нет дочерних узлов
См. также:
getAllowsChildren()

getFirstLeaf

public DefaultMutableTreeNode getFirstLeaf()

Находит и возвращает первый лист, являющийся потомком этого узла — либо этот узел, либо первый лист первого дочернего узла. Возвращает этот узел, если он является листом.

Возвращает:
первый лист в поддереве с корнем в этом узле
См. также:
isLeaf(), isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)

getLastLeaf

public DefaultMutableTreeNode getLastLeaf()

Находит и возвращает последний лист, являющийся потомком этого узла — либо этот узел, либо последний лист последнего дочернего узла. Возвращает этот узел, если он является листом.

Возвращает:
последний лист в поддереве с корнем в этом узле
См. также:
isLeaf(), isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)

getNextLeaf

public DefaultMutableTreeNode getNextLeaf()

Возвращает лист после этого узла или null, если этот узел является последним листом в дереве.

В этой реализации интерфейса MutableNode данная операция является очень неэффективной. Для определения следующего узла этот метод сначала выполняет линейный поиск в списке дочерних узлов родителя, чтобы найти текущий узел.

Такая реализация делает операцию подходящей для коротких обходов из известной позиции. Но для обхода всех листьев в дереве следует использовать depthFirstEnumeration для перечисления узлов в дереве и использовать isLeaf для каждого узла, чтобы определить, являются ли они листьями.

Возвращает:
возвращает следующий лист после этого узла
См. также:
depthFirstEnumeration(), isLeaf()

getPreviousLeaf

public DefaultMutableTreeNode getPreviousLeaf()

Возвращает лист перед этим узлом или null, если этот узел является первым листом в дереве.

В этой реализации интерфейса MutableNode данная операция является очень неэффективной. Для определения предыдущего узла этот метод сначала выполняет линейный поиск в списке дочерних узлов родителя, чтобы найти текущий узел.

Такая реализация делает операцию подходящей для коротких обходов из известной позиции. Но для обхода всех листьев в дереве следует использовать depthFirstEnumeration для перечисления узлов в дереве и использовать isLeaf для каждого узла, чтобы определить, являются ли они листьями.

Возвращает:
возвращает лист перед этим узлом
См. также:
depthFirstEnumeration(), isLeaf()

getLeafCount

public int getLeafCount()

Возвращает общее количество листьев, являющихся потомками этого узла. Если этот узел является листом, возвращает 1. Этот метод имеет сложность O(n), где n — количество потомков этого узла.

Возвращает:
количество листьев под этим узлом
См. также:
isNodeAncestor(javax.swing.tree.TreeNode)

toString

public String toString()

Возвращает результат отправки toString() в объекту пользователя этого узла или пустую строку, если у узла нет объекта пользователя.

Переопределяет:
toString в классе Object
Возвращает:
строковое представление объекта.
См. также:
getUserObject()

clone

public Object clone()

Переопределено для того, чтобы сделать clone общедоступным. Возвращает поверхностную копию этого узла; новый узел не имеет родителя или дочерних узлов и имеет ссылку на тот же объект пользователя, если таковой имеется.

Переопределяет:
clone в классе Object
Возвращает:
копию этого узла
См. также:
Cloneable

© 1993, 2020, 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.

Spec-Zone.ru

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