Spec-Zone.ru › OpenJDK 8

Класс TreeModelEvent

  • java.lang.Object
    • java.util.EventObject
      • javax.swing.event.TreeModelEvent
Все реализованные интерфейсы:
Serializable

public class TreeModelEvent
extends EventObject

Содержит информацию об изменениях в модели дерева и используется для уведомления слушателей модели дерева об изменениях. Более подробную информацию и примеры см. в Как написать слушателя модели дерева — раздел в Руководстве по Java.

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

Поля

Модификатор и тип Поле и описание
protected int[] childIndices

Индексы, определяющие положение, где были добавлены дочерние элементы.

protected Object[] children

Дочерние элементы, которые были удалены.

protected TreePath path

Путь к родительскому элементу узлов, которые изменились.

Поля, унаследованные от класса java.util.EventObject

source

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

Конструктор и описание
TreeModelEvent(Object source, Object[] path)

Используется для создания события, когда структура узла каким-то образом изменилась, определяя путь к корню изменённого поддерева в виде массива объектов.

TreeModelEvent(Object source, Object[] path, int[] childIndices, Object[] children)

Используется для создания события, когда узлы были изменены, вставлены или удалены, определяя путь к родителю изменённых элементов в виде массива объектов.

TreeModelEvent(Object source, TreePath path)

Используется для создания события, когда структура узла каким-то образом изменилась, определяя путь к корню изменённого поддерева как объект TreePath.

TreeModelEvent(Object source, TreePath path, int[] childIndices, Object[] children)

Используется для создания события, когда узлы были изменены, вставлены или удалены, определяя путь к родителю изменённых элементов как объект TreePath.

Методы

Модификатор и тип Метод и описание
int[] getChildIndices()

Возвращает значения индексов дочерних элементов.

Object[] getChildren()

Возвращает объекты, являющиеся дочерними элементами узла, идентифицированного по getPath, в позициях, указанных по getChildIndices.

Object[] getPath()

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

TreePath getTreePath()

Для всех событий, кроме treeStructureChanged, возвращает родителя изменённых узлов.

String toString()

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

Методы, унаследованные от класса java.util.EventObject

getSource

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Поля

path

protected TreePath path

Путь к родительскому узлу изменённых узлов.

childIndices

protected int[] childIndices

Индексы, определяющие позиции добавленных или удалённых дочерних узлов.

children

protected Object[] children

Удалённые дочерние узлы.

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

TreeModelEvent

public TreeModelEvent(Object source,
                      Object[] path,
                      int[] childIndices,
                      Object[] children)

Используется для создания события при изменении, добавлении или удалении узлов, определяя путь к родителю изменённых элементов в виде массива объектов. Все изменённые объекты являются соседними прямыми потомками (не внуками) указанного родителя. Позиции, в которых произошли добавления, удаления или изменения, задаются массивом int. Индексы в этом массиве должны быть упорядочены по возрастанию.

При изменениях индексы в модели точно соответствуют индексам элементов, отображаемых в пользовательском интерфейсе. Поэтому некритично, если индексы не находятся в точном порядке. Однако после нескольких добавлений или удалений элементы в пользовательском интерфейсе больше не соответствуют элементам в модели. Поэтому важно правильно указать индексы при добавлении и удалении.

При добавлении индексы представляют собой конечное состояние дерева после добавления элементов. Поскольку индексы должны быть упорядочены, наиболее естественный метод обработки — добавлять элементы, начиная с наименьшего индекса и двигаясь к наибольшему. Собирайте вектор объектов Integer, которые определяют места добавления, по мере выполнения, затем преобразуйте вектор в массив int, чтобы создать событие. Когда индекс позиции равен нулю, узел добавляется в начало списка. Когда индекс позиции равен размеру списка, узел добавляется в конец списка.

При удалении индексы представляют собой начальное состояние дерева до удаления элементов. Поскольку индексы должны быть упорядочены, наиболее естественный метод обработки — использовать счётчик удалений. Начните с инициализации счётчика нулём и проработайте список от наименьшего к наибольшему индексу. Каждый раз, когда вы удаляете элемент, добавьте текущее значение счётчика удалений к индексу позиции, где произошло удаление, и добавьте результат в вектор позиций удаления, используя addElement(). Затем увеличьте счётчик удалений. Позиции индексов, хранящиеся в векторе, поэтому отражают последствия всех предыдущих удалений, поэтому они представляют собой позицию каждого объекта в исходном дереве. (Вы также можете начать с наибольшего индекса и работать в обратном направлении к наименьшему, собирая вектор позиций удаления по мере выполнения, используя insertElementAt(Integer, 0)). Как бы вы ни создавали вектор начальных позиций, вам нужно преобразовать вектор объектов Integer в массив int для создания события.

Примечания:

  • Как и метод insertNodeInto в классе DefaultTreeModel, insertElementAt добавляет в Vector при совпадении индекса с размером вектора. Поэтому вы можете использовать insertElementAt(Integer, 0) даже когда вектор пуст.
  • Чтобы создать событие изменения узла для корневого узла, укажите родительский узел и индексы дочерних узлов как null.
Параметры:
source - объект, ответственный за создание события (обычно создатель объекта события передает this для своего значения)
path - массив объектов, определяющий путь к родителю изменённого элемента(ов), где первый элемент массива — объект, хранящийся в корневом узле, а последний элемент — объект, хранящийся в родительском узле
childIndices - массив int, определяющий индексы удалённых элементов. Индексы должны быть упорядочены по возрастанию
children - массив объектов, содержащий добавленные, удалённые или изменённые объекты
См. также:
TreePath

TreeModelEvent

public TreeModelEvent(Object source,
                      TreePath path,
                      int[] childIndices,
                      Object[] children)

Используется для создания события при изменении, добавлении или удалении узлов, определяя путь к родителю изменённых элементов как объект TreePath. Более подробная информация о том, как указать индексы и объекты, приведена в TreeModelEvent(Object,Object[],int[],Object[]).

Параметры:
source - объект, ответственный за создание события (обычно создатель объекта события передает this для своего значения)
path - объект TreePath, определяющий путь к родителю изменённого элемента(ов)
childIndices - массив int, определяющий индексы изменённых элементов
children - массив объектов, содержащий добавленные, удалённые или изменённые объекты
См. также:
TreeModelEvent(Object,Object[],int[],Object[])

TreeModelEvent

public TreeModelEvent(Object source,
                      Object[] path)

Используется для создания события, когда структура узла каким-то образом изменилась, определяя путь к корню изменённого поддерева в виде массива объектов. Событие изменения структуры может включать, например, перестановку узлов или может охватывать несколько добавлений и удалений в поддереве, начинающемся с узла, где изменения могут произойти на разных уровнях поддерева.

Примечание:
JTree сворачивает все узлы под указанным узлом, так что видны только его непосредственные дочерние узлы.

Параметры:
source - объект, ответственный за создание события (обычно создатель объекта события передает this для своего значения)
path - массив объектов, определяющий путь к корню изменённого поддерева, где первый элемент массива — объект, хранящийся в корневом узле, а последний элемент — объект, хранящийся в изменённом узле
См. также:
TreePath

TreeModelEvent

public TreeModelEvent(Object source,
                      TreePath path)

Используется для создания события, когда структура узла каким-то образом изменилась, определяя путь к корню изменённого поддерева как объект TreePath. Более подробная информация об этой спецификации событий приведена в TreeModelEvent(Object,Object[]).

Параметры:
source - объект, ответственный за создание события (обычно создатель объекта события передает this для своего значения)
path - объект TreePath, определяющий путь к изменению. В DefaultTreeModel этот объект содержит массив объектов пользовательских данных, но подкласс TreePath может использовать совершенно другой механизм — например, номер идентификатора узла
См. также:
TreeModelEvent(Object,Object[])

Методы

getTreePath

public TreePath getTreePath()

Для всех событий, кроме treeStructureChanged, возвращает родительский узел изменённых узлов. Для событий treeStructureChanged возвращает предка изменённой структуры. Эти методы, вместе с getChildIndices, используются для получения списка затронутых узлов.

Исключением является событие treeNodesChanged, которое служит для идентификации корня, в этом случае оно возвращает корень, а getChildIndices возвращает null.

Возвращает:
объект TreePath, используемый для определения изменённых узлов.
См. также:
TreePath.getLastPathComponent()

getPath

public Object[] getPath()

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

Возвращает:
массив объектов, где первый объект — тот, что хранится в корне, а последний объект — тот, что хранится в узле, идентифицированном путём

getChildren

public Object[] getChildren()

Возвращает объекты, являющиеся дочерними для узла, идентифицированного getPath в позициях, указанных getChildIndices. Если это событие удаления, возвращаемые объекты больше не являются дочерними для родительского узла.

Возвращает:
массив объектов, содержащий дочерние узлы, указанные в событии
См. также:
getPath(), getChildIndices()

getChildIndices

public int[] getChildIndices()

Возвращает значения индексов дочерних узлов. Если это событие удаления, индексы указывают на места в исходном списке, где были удалены элементы. Если это добавление, индексы указывают на места в окончательном списке, где были добавлены элементы. Для изменений узлов индексы указывают на места изменённых узлов.

Возвращает:
массив int, содержащий индексы позиций дочерних узлов, указанных в событии

toString

public String toString()

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

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

© 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