Spec-Zone.ru › OpenJDK 17

Класс 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, 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/event/TreeModelEvent.html

Spec-Zone.ru

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