Spec-Zone.ru › OpenJDK 24

Класс TreePath

java.lang.Object
javax.swing.tree.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.

Краткое описание конструкторов

TreePath()
TreePath(Object lastPathComponent)
TreePath(Object[] path)
TreePath(Object[] path, int length)
TreePath(TreePath parent, Object lastPathComponent)
Модификатор Конструктор Описание
protected
Создаёт пустой TreePath.
Создаёт TreePath, содержащий один элемент.
Создаёт TreePath из массива.
protected
Создаёт TreePath из массива.
protected
Создаёт TreePath с указанным родителем и элементом.

Краткое описание методов

Модификатор и тип Метод Описание
boolean equals(Object o)
Сравнивает этот TreePath с указанным объектом.
Object getLastPathComponent()
Возвращает последний элемент этого пути.
TreePath getParentPath()
Возвращает TreePath родителя.
Object[] getPath()
Возвращает упорядоченный массив элементов этого TreePath.
Object getPathComponent(int index)
Возвращает элемент пути по указанному индексу.
int getPathCount()
Возвращает количество элементов в пути.
int hashCode()
Возвращает хэш-код этого TreePath.
boolean isDescendant(TreePath aTreePath)
Возвращает true, если aTreePath является потомком этого TreePath.
TreePath pathByAddingChild(Object child)
Возвращает новый путь, содержащий все элементы этого пути плюс child.
String toString()
Возвращает строку, отображающую и идентифицирующую свойства этого объекта.

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

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Подробное описание конструкторов

TreePath

@ConstructorProperties("path") public TreePath(Object[] path)
Создаёт TreePath из массива. Массив однозначно идентифицирует путь к узлу.
Параметры:
path - массив объектов, представляющий путь к узлу
Исключение:
IllegalArgumentException - если path null, пустой или содержит значение типа null

TreePath

public TreePath(Object lastPathComponent)
Создаёт TreePath, содержащий один элемент. Используется для построения TreePath, идентифицирующего корень.
Параметры:
lastPathComponent - корень
Исключение:
IllegalArgumentException - если lastPathComponent null
См. также:
  • TreePath(Object[])

TreePath

protected TreePath(TreePath parent, Object lastPathComponent)
Создаёт TreePath с указанным родительским элементом и элементом.
Параметры:
parent - путь к родителю, или null для указания корня
lastPathComponent - последний элемент пути
Исключение:
IllegalArgumentException - если lastPathComponent null

TreePath

protected TreePath(Object[] path, int length)
Создаёт TreePath из массива. Возвращаемый TreePath представляет элементы массива с 0 по length - 1.

Этот конструктор используется внутри и, как правило, не нужен вне подклассов.

Параметры:
path - массив для создания TreePath
length - определяет количество элементов в path для создания TreePath
Исключение:
NullPointerException - если path null
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 для каждого элемента пути).
Переопределяет:
equals в классе Object
Параметры:
o - сравниваемый объект
Возвращает:
true если этот объект такой же, как аргумент obj; false в противном случае.
См. также:
  • Object.hashCode()
  • HashMap

hashCode

public int hashCode()
Возвращает код хэша этого TreePath. Код хэша TreePath — это код хэша последнего элемента пути.
Переопределяет:
hashCode в классе Object
Возвращает:
hashCode для объекта
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

isDescendant

public boolean isDescendant(TreePath aTreePath)
Возвращает true, если 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 - если child null

getParentPath

public TreePath getParentPath()
Возвращает TreePath родителя. Значение null указывает, что это корневой узел.
Возвращает:
родительский путь

toString

public String toString()
Возвращает строку, отображающую и идентифицирующую свойства этого объекта.
Переопределяет:
toString в классе Object
Возвращает:
строковое представление этого объекта

© 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

Spec-Zone.ru

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