Spec-Zone.ru › OpenJDK 25

Класс 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, в пакете java.beans добавлена поддержка долговременного хранения всех JavaBeans. См. 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()
Возвращает строку, отображающую и описывающую свойства этого объекта.

Методы, объявленные в классе 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
Возвращает:
хеш-код объекта
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(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
Возвращает:
строковое представление этого объекта

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/tree/TreePath.html

Spec-Zone.ru

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