Класс TreePath
- Все реализованные интерфейсы:
Serializable
public class TreePath extends Object implements Serializable
TreePath представляет массив объектов, уникально идентифицирующих путь к узлу в дереве. Элементы массива упорядочены с корнем в качестве первого элемента массива. Например, файл в файловой системе уникально идентифицируется на основе массива родительских каталогов и имени файла. Путь /tmp/foo/bar может быть представлен TreePath как new TreePath(new Object[] {"tmp", "foo", "bar"}). TreePath широко используется классами JTree и родственные классы. Например, JTree представляет выбор в виде массива TreePath. При использовании с JTree элементами пути являются объекты, возвращаемые TreeModel. При использовании JTree с DefaultTreeModel, элементами пути являются TreeNode. Следующий пример иллюстрирует извлечение объекта пользователя из выбора в JTree:
DefaultMutableTreeNode root = ...;
DefaultTreeModel model = new DefaultTreeModel(root);
JTree tree = new JTree(model);
...
TreePath selectedPath = tree.getSelectionPath();
DefaultMutableTreeNode selectedNode =
((DefaultMutableTreeNode)selectedPath.getLastPathComponent());
Object myObject= selectedNode.getUserObject();
Подклассы обычно нуждаются в переопределении только
getLastPathComponent и getParentPath. Поскольку JTree внутренне создает TreePath в различных точках, обычно нецелесообразно подклассифицировать TreePath и использовать его с JTree. Хотя TreePath сериализуем, будет брошено исключение
NotSerializableException, если какие-либо элементы пути не сериализуемы.
Для получения дополнительной информации и примеров использования путей дерева, см. Как использовать деревья в руководстве Java.
Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими версиями Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или RMI между приложениями, работающими с одной версией Swing. Начиная с версии 1.4, поддержка долгосрочного хранения всех JavaBeans была добавлена в пакет java.beans. Пожалуйста, см. XMLEncoder.
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создаёт пустой TreePath. |
|
| Создаёт TreePath, содержащий один элемент. |
||
| Создаёт TreePath из массива. |
||
protected |
Создаёт TreePath из массива. |
|
protected |
Создаёт TreePath с указанным родителем и элементом. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equals |
Сравнивает этот TreePath с указанным объектом. |
Object |
getLastPathComponent() |
Возвращает последний элемент этого пути. |
TreePath |
getParentPath() |
Возвращает TreePath родителя. |
Object[] |
getPath() |
Возвращает упорядоченный массив элементов этого TreePath. |
Object |
getPathComponent |
Возвращает элемент пути по указанному индексу. |
int |
getPathCount() |
Возвращает количество элементов в пути. |
int |
hashCode() |
Возвращает хэш-код этого TreePath. |
boolean |
isDescendant |
Возвращает true, если aTreePath является потомком этого TreePath. |
TreePath |
pathByAddingChild |
Возвращает новый путь, содержащий все элементы этого пути плюс child. |
String |
toString() |
Возвращает строку, отображающую и идентифицирующую свойства этого объекта. |
Подробное описание конструкторов
TreePath
@ConstructorProperties("path") public TreePath(Object[] path) TreePath из массива. Массив однозначно идентифицирует путь к узлу.- Параметры:
-
path- массив объектов, представляющий путь к узлу - Исключение:
-
IllegalArgumentException- еслиpathnull, пустой или содержит значение типаnull
TreePath
public TreePath(Object lastPathComponent)
TreePath, содержащий один элемент. Используется для построения TreePath, идентифицирующего корень.- Параметры:
-
lastPathComponent- корень - Исключение:
-
IllegalArgumentException- еслиlastPathComponentnull - См. также:
TreePath
protected TreePath(TreePath parent, Object lastPathComponent)
TreePath с указанным родительским элементом и элементом.- Параметры:
-
parent- путь к родителю, илиnullдля указания корня -
lastPathComponent- последний элемент пути - Исключение:
-
IllegalArgumentException- еслиlastPathComponentnull
TreePath
protected TreePath(Object[] path, int length)
TreePath из массива. Возвращаемый TreePath представляет элементы массива с 0 по length - 1. Этот конструктор используется внутри и, как правило, не нужен вне подклассов.
- Параметры:
-
path- массив для созданияTreePath -
length- определяет количество элементов вpathдля созданияTreePath - Исключение:
-
NullPointerException- еслиpathnull -
ArrayIndexOutOfBoundsException- еслиlength - 1выходит за пределы диапазона массива -
IllegalArgumentException- если любой из элементов с0поlength - 1являетсяnull
TreePath
protected TreePath()
TreePath. Предоставляется для подклассов, которые представляют пути другим способом. Подклассы, использующие этот конструктор, должны переопределить getLastPathComponent и getParentPath.Подробное описание методов
getPath
public Object[] getPath()
TreePath. Первый элемент — корень.- Возвращает:
- массив элементов в этом
TreePath
getLastPathComponent
public Object getLastPathComponent()
- Возвращает:
- последний элемент в пути
getPathCount
public int getPathCount()
- Возвращает:
- количество элементов в пути
getPathComponent
public Object getPathComponent(int index)
- Параметры:
-
index- индекс запрашиваемого элемента - Возвращает:
- элемент по указанному индексу
- Исключение:
-
IllegalArgumentException- если индекс выходит за пределы диапазона этого пути
equals
public boolean equals(Object o)
TreePath с указанным объектом. Возвращает true, если o является TreePath с точно такими же элементами (определёнными с помощью equals для каждого элемента пути).hashCode
isDescendant
public boolean isDescendant(TreePath aTreePath)
aTreePath является потомком этого TreePath. TreePath P1 является потомком TreePath P2, если P1 содержит все элементы, составляющие путь P2's. Например, если у этого объекта путь [a, b], а у aTreePath путь [a, b, c], то aTreePath является потомком этого объекта. Однако, если у aTreePath путь [a], то он не является потомком этого объекта. По этому определению TreePath всегда считается потомком самого себя. То есть, aTreePath.isDescendant(aTreePath) возвращает true.- Параметры:
-
aTreePath- проверяемыйTreePath - Возвращает:
- true, если
aTreePathявляется потомком этого пути
pathByAddingChild
public TreePath pathByAddingChild(Object child)
child. child является последним элементом нового созданного TreePath.- Параметры:
-
child- добавляемый элемент пути - Возвращает:
- новый путь, содержащий все элементы этого пути плюс
child - Исключение:
-
NullPointerException- еслиchildnull
getParentPath
public TreePath getParentPath()
TreePath родителя. Значение null указывает, что это корневой узел.- Возвращает:
- родительский путь
toString
© 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/TreePath.html