Класс 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()).
getUserObject();
Подклассы обычно должны переопределять только
getLastPathComponent и getParentPath. Так как JTree внутренне создаёт TreePath в различных точках, в общем случае не имеет смысла подклассировать TreePath и использовать с JTree. Хотя TreePath сериализуем, будет брошено исключение
NotSerializableException если какой-либо элемент пути не сериализуем.
Дополнительную информацию и примеры использования путей дерева см. в Разделе «Использование деревьев» в Java Tutorial.
Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими выпусками 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) - Параметры:
-
path- массив объектов, представляющих путь к узлу - Исключения:
-
IllegalArgumentException- еслиpathравенnull, пустой или содержит значение типаnull
TreePath
public TreePath(Object lastPathComponent)
- Параметры:
-
lastPathComponent- корень - Исключения:
-
IllegalArgumentException- еслиlastPathComponentравенnull - См. также:
TreePath
protected TreePath(TreePath parent, Object lastPathComponent)
- Параметры:
-
parent- путь к родительскому элементу, или null для указания корня -
lastPathComponent- последний элемент пути - Исключения:
-
IllegalArgumentException- еслиlastPathComponentравенnull
TreePath
protected TreePath(Object[] path, int length)
0 до length - 1. Этот конструктор используется внутри, и обычно не нужен вне подклассов.
- Параметры:
-
path- массив для создания объекта TreePath -
length- определяет количество элементов в массиве для создания объекта TreePath - Исключения:
-
NullPointerException- еслиpathравенnull -
ArrayIndexOutOfBoundsException- еслиlength - 1выходит за пределы диапазона массива -
IllegalArgumentException- если любой из элементов с индексов0доlength - 1имеет значениеnull
TreePath
protected TreePath()
getLastPathComponent, и getParentPath.Подробное описание методов
getPath
public Object[] getPath()
- Возвращает:
- массив элементов в этом объекте TreePath
getLastPathComponent
public Object getLastPathComponent()
- Возвращает:
- последний элемент пути
getPathCount
public int getPathCount()
- Возвращает:
- количество элементов в пути
getPathComponent
public Object getPathComponent(int index)
- Параметры:
-
index- индекс запрашиваемого элемента - Возвращает:
- элемент по указанному индексу
- Исключения:
-
IllegalArgumentException- если индекс выходит за пределы диапазона этого пути
equals
public boolean equals(Object o)
- Переопределяет:
-
equalsв классеObject - Параметры:
-
o- объект для сравнения - Возвращает:
-
trueесли этот объект такой же, как аргумент obj;falseв противном случае. - См. также:
hashCode
public int hashCode()
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- хэш-код объекта
- См. также:
isDescendant
public boolean isDescendant(TreePath aTreePath)
aTreePath является потомком этого объекта TreePath. Объект TreePath P1 является потомком объекта TreePath P2 если путь P2's содержит все элементы, составляющие путь 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- еслиchildравенnull
getParentPath
public TreePath getParentPath()
- Возвращает:
- путь родителя
toString
public String toString()
- Переопределяет:
-
toStringв классеObject - Возвращает:
- строковое представление этого объекта
© 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/TreePath.html