Класс DefaultMutableTreeNode
- Все реализованные интерфейсы:
-
Serializable,Cloneable,MutableTreeNode,TreeNode
- Прямые известные подклассы:
JTree.DynamicUtilTreeNode
public class DefaultMutableTreeNode extends Object implements Cloneable, MutableTreeNode, Serializable
Узел дерева может иметь не более одного родителя и 0 или более дочерних узлов. DefaultMutableTreeNode предоставляет операции для проверки и изменения родительского и дочерних узлов, а также для проверки дерева, частью которого является данный узел. Дерево, к которому принадлежит узел, состоит из всех узлов, которые можно достичь, начав с данного узла и следуя всем возможным связям к родителям и дочерним узлам. Узел без родителя является корнем дерева; узел без дочерних узлов является листом. Дерево может состоять из многих поддеревьев, каждый узел выступая в качестве корня своего собственного поддерева.
Этот класс предоставляет перечисления для эффективного обхода дерева или поддерева в различных порядках или для следования пути между двумя узлами. Узел также может содержать ссылку на пользовательский объект, использование которого остается на усмотрение пользователя. Запрос представления узла в строковом формате с toString() возвращает строковое представление пользовательского объекта.
Этот класс не потокобезопасен. Если вы планируете использовать DefaultMutableTreeNode (или дерево TreeNodes) в нескольких потоках, вам необходимо выполнить свою синхронизацию. Хорошей практикой является синхронизация по корневому узлу дерева.
Хотя DefaultMutableTreeNode реализует интерфейс MutableTreeNode и позволит вам добавить любое реализацию MutableTreeNode, не все методы DefaultMutableTreeNode будут применимы ко всем реализациям MutableTreeNode. Особенно в случае с некоторыми перечислениями, использование некоторых методов предполагает, что DefaultMutableTreeNode содержит только экземпляры DefaultMutableNode. Все методы TreeNode/MutableTreeNode будут вести себя в соответствии с определением вне зависимости от добавленных реализаций.
Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или RMI между приложениями, использующими одну и ту же версию Swing. Начиная с версии 1.4, поддержка долгосрочного хранения всех JavaBeans была добавлена в пакет java.beans. См. XMLEncoder.
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected boolean |
allowsChildren |
true, если узел может иметь дочерние узлы |
protected Vector |
children |
массив дочерних узлов, может быть null, если у этого узла нет дочерних узлов |
static final Enumeration |
EMPTY_ENUMERATION |
перечисление, которое всегда пусто. |
protected MutableTreeNode |
parent |
родитель этого узла, или null, если у этого узла нет родителя |
protected Object |
userObject |
необязательный пользовательский объект |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
DefaultMutableTreeNode() |
Создает узел дерева без родителя и дочерних узлов, но с возможностью иметь дочерние узлы. |
DefaultMutableTreeNode |
Создает узел дерева без родителя и дочерних узлов, но с возможностью иметь дочерние узлы, и инициализирует его указанным пользовательским объектом. |
DefaultMutableTreeNode |
Создает узел дерева без родителя и дочерних узлов, инициализированный указанным пользовательским объектом, и позволяющий иметь дочерние узлы только при указании этого. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
add |
Удаляет newChild из родительского узла и делает его дочерним для этого узла, добавив его в конец массива дочерних узлов этого узла. |
Enumeration |
breadthFirstEnumeration() |
Создает и возвращает перечисление, которое обходит поддерево, укорененное в этом узле, в порядке обхода по ширине. |
Enumeration |
children() |
Создает и возвращает перечисление для обхода дочерних узлов этого узла в прямом порядке. |
Object |
clone() |
Переопределено для того, чтобы сделать клонирование публичным. |
Enumeration |
depthFirstEnumeration() |
Создает и возвращает перечисление, которое обходит поддерево, укорененное в этом узле, в порядке обхода по глубине. |
boolean |
getAllowsChildren() |
Возвращает true, если этому узлу разрешено иметь дочерние узлы. |
TreeNode |
getChildAfter |
Возвращает дочерний узел в массиве дочерних узлов этого узла, который сразу следует за aChild, который должен быть дочерним узлом этого узла. |
TreeNode |
getChildAt |
Возвращает дочерний узел по указанному индексу в массиве дочерних узлов этого узла. |
TreeNode |
getChildBefore |
Возвращает дочерний узел в массиве дочерних узлов этого узла, который сразу предшествует aChild, который должен быть дочерним узлом этого узла. |
int |
getChildCount() |
Возвращает количество дочерних узлов этого узла. |
int |
getDepth() |
Возвращает глубину дерева, укорененного в этом узле — наибольшее расстояние от этого узла до листа. |
TreeNode |
getFirstChild() |
Возвращает первый дочерний узел этого узла. |
DefaultMutableTreeNode |
getFirstLeaf() |
Находит и возвращает первый лист, который является потомком этого узла — либо этот узел, либо первый лист первого дочернего узла. |
int |
getIndex |
Возвращает индекс указанного дочернего узла в массиве дочерних узлов этого узла. |
TreeNode |
getLastChild() |
Возвращает последний дочерний узел этого узла. |
DefaultMutableTreeNode |
getLastLeaf() |
Находит и возвращает последний лист, который является потомком этого узла — либо этот узел, либо последний лист последнего дочернего узла. |
int |
getLeafCount() |
Возвращает общее количество листьев, которые являются потомками этого узла. |
int |
getLevel() |
Возвращает количество уровней над этим узлом — расстояние от корня до этого узла. |
DefaultMutableTreeNode |
getNextLeaf() |
Возвращает лист после этого узла или null, если этот узел является последним листом в дереве. |
DefaultMutableTreeNode |
getNextNode() |
Возвращает узел, следующий за этим узлом в обходе в порядке прямой лексикографической обработки этого дерева. |
DefaultMutableTreeNode |
getNextSibling() |
Возвращает следующего брата этого узла в массиве дочерних узлов родительского узла. |
TreeNode |
getParent() |
Возвращает родителя этого узла или null, если у этого узла нет родителя. |
TreeNode[] |
getPath() |
Возвращает путь от корня к этому узлу. |
protected TreeNode[] |
getPathToRoot |
Строит массив родителей узлов от текущего узла до корня, где исходный узел является последним элементом возвращаемого массива. |
DefaultMutableTreeNode |
getPreviousLeaf() |
Возвращает лист перед этим узлом или null, если этот узел является первым листом в дереве. |
DefaultMutableTreeNode |
getPreviousNode() |
Возвращает узел, который предшествует этому узлу в обходе в порядке прямой лексикографической обработки этого дерева. |
DefaultMutableTreeNode |
getPreviousSibling() |
Возвращает предыдущего брата этого узла в массиве дочерних узлов родительского узла. |
TreeNode |
getRoot() |
Возвращает корень дерева, содержащего этот узел. |
TreeNode |
getSharedAncestor |
Возвращает ближайшего общего предка этого узла и aNode. |
int |
getSiblingCount() |
Возвращает количество братьев этого узла. |
Object |
getUserObject() |
Возвращает пользовательский объект этого узла. |
Object[] |
getUserObjectPath() |
Возвращает путь к пользовательскому объекту от корня до этого узла. |
void |
insert |
Удаляет newChild из его текущего родителя (если у него есть родитель), устанавливает родителя дочернего узла в этот узел, а затем добавляет дочерний узел в массив дочерних узлов этого узла по индексу childIndex. |
boolean |
isLeaf() |
Возвращает true, если у этого узла нет дочерних узлов. |
boolean |
isNodeAncestor |
Возвращает true, если anotherNode является предком этого узла — если это сам узел, родитель этого узла или предок родителя этого узла. |
boolean |
isNodeChild |
Возвращает true, если aNode является дочерним узлом этого узла. |
boolean |
isNodeDescendant |
Возвращает true, если anotherNode является потомком этого узла — если это сам узел, один из дочерних узлов этого узла или потомок одного из дочерних узлов этого узла. |
boolean |
isNodeRelated |
Возвращает true, и только если aNode находится в том же дереве, что и этот узел. |
boolean |
isNodeSibling |
Возвращает true, если anotherNode является братом (имеет того же родителя, что и) этого узла. |
boolean |
isRoot() |
Возвращает true, если этот узел является корнем дерева. |
Enumeration |
pathFromAncestorEnumeration |
Создает и возвращает перечисление, которое обходит путь от ancestor к этому узлу. |
Enumeration |
postorderEnumeration() |
Создает и возвращает перечисление, которое обходит поддерево, укорененное в этом узле, в порядке обхода по принципу «после». |
Enumeration |
preorderEnumeration() |
Создает и возвращает перечисление, которое обходит поддерево, укорененное в этом узле, в порядке обхода по принципу «перед». |
void |
remove |
Удаляет дочерний узел по указанному индексу из дочерних узлов этого узла и устанавливает родителя этого узла в значение null. |
void |
remove |
Удаляет aChild из массива дочерних узлов этого узла, присваивая ему родительский узел null. |
void |
removeAllChildren() |
Удаляет всех дочерних узлов этого узла, устанавливая их родителей в null. |
void |
removeFromParent() |
Удаляет поддерево, укорененное в этом узле, из дерева, присваивая этому узлу родительский узел null. |
void |
setAllowsChildren |
Определяет, разрешено ли этому узлу иметь дочерние узлы. |
void |
setParent |
Устанавливает родителя этого узла в newParent, но не изменяет массив дочерних узлов родителя. |
void |
setUserObject |
Устанавливает пользовательский объект для этого узла в userObject. |
String |
toString() |
Возвращает результат отправки toString() в пользовательский объект этого узла или пустую строку, если у узла нет пользовательского объекта. |
Краткое описание полей
EMPTY_ENUMERATION
public static final Enumeration<TreeNode> EMPTY_ENUMERATION
parent
protected MutableTreeNode parent
children
protected Vector<TreeNode> children
userObject
protected transient Object userObject
allowsChildren
protected boolean allowsChildren
Краткое описание конструкторов
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- если этот узел не допускает потомков - См. также:
remove
public void remove(int childIndex)
MutableTreeNode.- Указано в:
-
removeв интерфейсеMutableTreeNode - Параметры:
-
childIndex- индекс в массиве дочерних элементов этого узла удаляемого дочернего элемента - Исключения:
-
ArrayIndexOutOfBoundsException- еслиchildIndexнаходится за границами
setParent
public void setParent(MutableTreeNode newParent)
newParent, но не изменяет массив дочерних элементов родительского элемента. Этот метод вызывается из insert() и remove() для переназначения родительского элемента дочернего элемента, его не следует отправлять из других мест.- Указано в:
-
setParentв интерфейсеMutableTreeNode - Параметры:
-
newParent- новый родительский элемент этого узла
getParent
getChildAt
public TreeNode getChildAt(int index)
- Указано в:
-
getChildAtв интерфейсеTreeNode - Параметры:
-
index- индекс в массиве дочерних элементов этого узла - Возвращает:
- TreeNode в массиве дочерних элементов этого узла по указанному индексу
- Исключения:
-
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<TreeNode> children()
setAllowsChildren
public void setAllowsChildren(boolean allows)
allows равно false, все дочерние элементы этого узла удаляются. Примечание. По умолчанию узел допускает наличие дочерних элементов.
- Параметры:
-
allows- true, если этому узлу разрешено иметь дочерние элементы
getAllowsChildren
public boolean getAllowsChildren()
- Указано в:
-
getAllowsChildrenв интерфейсеTreeNode - Возвращает:
- true, если этот узел допускает дочерние элементы, иначе false
setUserObject
public void setUserObject(Object userObject)
userObject.- Указано в:
-
setUserObjectв интерфейсеMutableTreeNode - Параметры:
-
userObject- объект, который составляет данные, указанные пользователем для этого узла - См. также:
getUserObject
public Object getUserObject()
- Возвращает:
- объект, хранящийся в этом узле пользователем
- См. также:
removeFromParent
public void removeFromParent()
- Указано в:
-
removeFromParentв интерфейсеMutableTreeNode
remove
public void remove(MutableTreeNode aChild)
aChild из массива дочерних элементов этого узла, устанавливая для него родительский элемент null.- Указано в:
-
removeв интерфейсеMutableTreeNode - Параметры:
-
aChild- дочерний элемент этого узла для удаления - Исключения:
-
IllegalArgumentException- еслиaChildравно null или не является дочерним элементом этого узла
removeAllChildren
public void removeAllChildren()
add
public void add(MutableTreeNode newChild)
newChild из его родителя и делает его дочерним элементом этого узла, добавив его в конец массива дочерних элементов этого узла.- Parameters:
-
newChild- узел для добавления в качестве дочернего элемента этого узла - Throws:
-
IllegalArgumentException- еслиnewChildимеет значение null -
IllegalStateException- если этот узел не допускает дочерние элементы - See Also:
isNodeAncestor
public boolean isNodeAncestor(TreeNode anotherNode)
anotherNode является предком этого узла — если это сам узел, родитель этого узла или предок родителя этого узла. (Узел считается предком самого себя.) Если anotherNode имеет значение null, этот метод возвращает false. Эта операция в худшем случае имеет сложность O(h), где h — расстояние от корня до этого узла.- Parameters:
-
anotherNode- узел, проверяемый на то, является ли он предком этого узла - Returns:
- true, если этот узел является потомком
anotherNode - See Also:
isNodeDescendant
public boolean isNodeDescendant(DefaultMutableTreeNode anotherNode)
anotherNode является потомком этого узла — если это сам узел, один из дочерних элементов этого узла или потомок одного из дочерних элементов этого узла. Узел считается потомком самого себя. Если anotherNode имеет значение null, возвращает false. Эта операция в худшем случае имеет сложность O(h), где h — расстояние от корня до anotherNode.- Parameters:
-
anotherNode- узел, проверяемый на то, является ли он потомком этого узла - Returns:
- true, если этот узел является предком
anotherNode - See Also:
isNodeRelated
public boolean isNodeRelated(DefaultMutableTreeNode aNode)
aNode находится в том же дереве, что и этот узел. Возвращает false, если aNode имеет значение null.- Parameters:
-
aNode- узел, для которого нужно найти общего предка - Returns:
- true, если
aNodeнаходится в том же дереве, что и этот узел; false, еслиaNodeимеет значение null - See Also:
getDepth
public int getDepth()
getLevel(), так как она должна эффективно пройти по всему дереву, укорененному в этом узле.- Returns:
- глубина дерева, корень которого — этот узел
- See Also:
getLevel
public int getLevel()
- Returns:
- количество уровней над этим узлом
- See Also:
getPath
public TreeNode[] getPath()
- Returns:
- массив объектов TreeNode, представляющий путь, где первый элемент пути — корень, а последний элемент — этот узел.
getPathToRoot
protected TreeNode[] getPathToRoot(TreeNode aNode, int depth)
- Parameters:
-
aNode- TreeNode, для которого необходимо получить путь -
depth- целое число, указывающее количество шагов, уже сделанных в сторону корня (при рекурсивных вызовах), используемое для задания размера возвращаемого массива - Returns:
- массив TreeNodes, представляющий путь от корня до указанного узла
getUserObjectPath
public Object[] getUserObjectPath()
- Returns:
- путь объекта пользователя от корня к этому узлу
getRoot
public TreeNode getRoot()
- Returns:
- корень дерева, содержащего этот узел
- See Also:
isRoot
public boolean isRoot()
- Returns:
- true, если этот узел является корнем своего дерева
getNextNode
public DefaultMutableTreeNode getNextNode()
- Returns:
- узел, следующий за этим узлом в порядке обхода в прямом порядке, или null, если этот узел последний
- See Also:
getPreviousNode
public DefaultMutableTreeNode getPreviousNode()
null, если этот узел является первым узлом обхода — корнем дерева. Это неэффективный способ обхода всего дерева; используйте перечисление вместо этого.- Returns:
- узел, предшествующий этому узлу в порядке обхода в прямом порядке, или null, если этот узел первый
- See Also:
preorderEnumeration
public Enumeration<TreeNode> preorderEnumeration()
nextElement() перечисления, — это этот узел. Изменение дерева путем вставки, удаления или перемещения узла делает недействительными все перечисления, созданные до изменения.
- Returns:
- перечисление для обхода дерева в прямом порядке
- See Also:
postorderEnumeration
public Enumeration<TreeNode> postorderEnumeration()
nextElement() перечисления, — это самый левый лист. Это то же самое, что обход в глубину.- Returns:
- перечисление для обхода дерева в обратном порядке
- See Also:
breadthFirstEnumeration
public Enumeration<TreeNode> breadthFirstEnumeration()
nextElement() перечисления, — это этот узел.Изменение дерева путем вставки, удаления или перемещения узла делает недействительными все перечисления, созданные до изменения.
- Returns:
- перечисление для обхода дерева в порядке обхода в ширину
- See Also:
depthFirstEnumeration
public Enumeration<TreeNode> depthFirstEnumeration()
nextElement() перечисления, — это самый левый лист. Это то же самое, что и обход в постфиксной форме.Изменение дерева путем вставки, удаления или перемещения узла делает недействительными все перечисления, созданные до изменения.
- Returns:
- перечисление для обхода дерева в порядке обхода в глубину
- See Also:
pathFromAncestorEnumeration
public Enumeration<TreeNode> pathFromAncestorEnumeration(TreeNode ancestor)
ancestor к этому узлу. Метод nextElement() перечисления сначала возвращает ancestor, затем дочерний элемент ancestor, который является предком этого узла, и так далее, и наконец возвращает этот узел. Создание перечисления имеет сложность O(m), где m — это количество узлов между этим узлом и ancestor включительно. Каждое сообщение nextElement() имеет сложность O(1).Изменение дерева путем вставки, удаления или перемещения узла делает недействительными все перечисления, созданные до изменения.
- Parameters:
-
ancestor- узел, с которого нужно начать перечисление - Returns:
- перечисление для следования по пути от предка этого узла к этому узлу
- Throws:
-
IllegalArgumentException- еслиancestorне является предком этого узла - See Also:
isNodeChild
public boolean isNodeChild(TreeNode aNode)
aNode является дочерним элементом этого узла. Если aNode равно null, этот метод возвращает false.- Parameters:
-
aNode- узел, для которого нужно определить, является ли он дочерним - Returns:
- true, если
aNodeявляется дочерним элементом этого узла; false, еслиaNodeравно null
getFirstChild
public TreeNode getFirstChild()
- Returns:
- первый дочерний элемент этого узла
- Throws:
-
NoSuchElementException- если у этого узла нет дочерних элементов
getLastChild
public TreeNode getLastChild()
- Returns:
- последний дочерний элемент этого узла
- Throws:
-
NoSuchElementException- если у этого узла нет дочерних элементов
getChildAfter
public TreeNode getChildAfter(TreeNode aChild)
aChild, который должен быть дочерним элементом этого узла. Если aChild является последним дочерним элементом, возвращает null. Этот метод выполняет линейный поиск дочерних элементов этого узла для aChild и имеет сложность O(n), где n — это количество дочерних элементов; для обхода всего массива дочерних элементов используйте вместо этого перечисление.- Parameters:
-
aChild- дочерний узел, для которого нужно найти следующий дочерний элемент - Returns:
- дочерний элемент этого узла, который непосредственно следует за
aChild - Throws:
-
IllegalArgumentException- еслиaChildравно null или не является дочерним элементом этого узла - See Also:
getChildBefore
public TreeNode getChildBefore(TreeNode aChild)
aChild, который должен быть дочерним элементом этого узла. Если aChild является первым дочерним элементом, возвращает null. Этот метод выполняет линейный поиск дочерних элементов этого узла для aChild и имеет сложность O(n), где n — это количество дочерних элементов.- Parameters:
-
aChild- дочерний узел, для которого нужно найти предыдущий дочерний элемент - Returns:
- дочерний элемент этого узла, который непосредственно предшествует
aChild - Throws:
-
IllegalArgumentException- еслиaChildравно null или не является дочерним элементом этого узла
isNodeSibling
public boolean isNodeSibling(TreeNode anotherNode)
anotherNode является братом (имеет того же родителя, что и) этот узел. Узел является своим собственным братом. Если anotherNode равно null, возвращает false.- Parameters:
-
anotherNode- узел для проверки в качестве брата этого узла - Returns:
- true, если
anotherNodeявляется братом этого узла
getSiblingCount
public int getSiblingCount()
1).- Returns:
- количество братьев и сестер этого узла
getNextSibling
public DefaultMutableTreeNode getNextSibling()
- Returns:
- брат этого узла, который непосредственно следует за этим узлом
- See Also:
getPreviousSibling
public DefaultMutableTreeNode getPreviousSibling()
- Returns:
- брат этого узла, который непосредственно предшествует этому узлу
isLeaf
public boolean isLeaf()
getAllowsChildren
getFirstLeaf
public DefaultMutableTreeNode getFirstLeaf()
- Returns:
- первый лист в поддереве, корнем которого является этот узел
- See Also:
getLastLeaf
public DefaultMutableTreeNode getLastLeaf()
- Returns:
- последний лист в поддереве, корнем которого является этот узел
- See Also:
getNextLeaf
public DefaultMutableTreeNode getNextLeaf()
В этой реализации интерфейса MutableNode эта операция очень неэффективна. Для определения следующего узла этот метод сначала выполняет линейный поиск в списке дочерних элементов родителя, чтобы найти текущий узел.
Эта реализация делает операцию подходящей для коротких обходов из известного положения. Но для обхода всех листьев в дереве следует использовать depthFirstEnumeration для перечисления узлов в дереве и использовать isLeaf для каждого узла, чтобы определить, какие из них являются листьями.
- Returns:
- возвращает следующий лист после этого узла
- See Also:
getPreviousLeaf
public DefaultMutableTreeNode getPreviousLeaf()
В этой реализации интерфейса MutableNode данная операция является очень неэффективной. Для определения предыдущего узла этот метод сначала выполняет линейный поиск в списке дочерних узлов родительского узла, чтобы найти текущий узел.
Эта реализация делает операцию подходящей для коротких перемещений от известной позиции. Но для обхода всех листов в дереве необходимо использовать depthFirstEnumeration для перечисления узлов в дереве и использовать isLeaf для каждого узла, чтобы определить, является ли он листом.
- Возвращает:
- возвращает лист, предшествующий данному узлу
- См. также:
getLeafCount
public int getLeafCount()
1. Этот метод имеет сложность O(n), где n — количество потомков данного узла.- Возвращает:
- количество листов под данным узлом
- См. также:
toString
clone
© 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/DefaultMutableTreeNode.html