Spec-Zone.ru › OpenJDK 8

Класс 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()).
       getUserObject();
Подклассы обычно должны переопределять только getLastPathComponent и getParentPath. Так как JTree внутренне создаёт TreePath в различных точках, обычно нецелесообразно подклассировать TreePath и использовать его с JTree.

Хотя TreePath сериализуем, будет брошено исключение NotSerializableException, если любой элемент пути не является сериализуемым.

Для получения дополнительной информации и примеров использования путей дерева, см. Как использовать деревья в Java Tutorial.

Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими версиями Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или RMI между приложениями, использующими одну и ту же версию Swing. Начиная с версии 1.4, поддержка долгосрочного хранения всех JavaBeans™ была добавлена в пакет java.beans. Пожалуйста, обратитесь к XMLEncoder.

Конструкторы

Модификатор Конструктор и описание
protected TreePath()

Создаёт пустой TreePath.

TreePath(Object lastPathComponent)

Создаёт TreePath, содержащий один элемент.

TreePath(Object[] path)

Создаёт TreePath из массива.

protected TreePath(Object[] path, int length)

Создаёт TreePath из массива.

protected TreePath(TreePath parent, Object lastPathComponent)

Создаёт 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(value="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 - элемент пути для добавления
Исключения:
NullPointerException - если child является null

getParentPath

public TreePath getParentPath()

Возвращает TreePath родителя. Значение null указывает на то, что это корневой узел.

Возвращает:
путь родителя

toString

public String toString()

Возвращает строку, отображающую и идентифицирующую свойства этого объекта.

Переопределяет:
toString в классе Object
Возвращает:
строковое представление этого объекта

© 1993, 2020, 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.

Spec-Zone.ru

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