Spec-Zone.ru › OpenJDK 25

Класс TreeModelEvent

java.lang.Object
java.util.EventObject
javax.swing.event.TreeModelEvent
Все реализуемые интерфейсы:
Serializable
public class TreeModelEvent extends EventObject
Содержит сведения об изменениях модели дерева и используется для уведомления слушателей модели дерева об этих изменениях. Дополнительные сведения и примеры см. в разделе Как написать слушатель модели дерева в Учебнике Java.

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

Краткое описание полей

Модификатор и тип Поле Описание
protected int[] childIndices
Индексы, указывающие позиции дочерних элементов.
protected Object[] children
Удалённые дочерние элементы.
protected TreePath path
Путь к родительскому элементу изменённых узлов.

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

Методы, объявленные в классе EventObject

getSource

Методы, объявленные в классе 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. Индексы в этом массиве должны быть упорядочены по возрастанию.

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

Для вставок индексы представляют итоговое состояние дерева после выполнения вставок. Поскольку индексы должны быть упорядочены, наиболее естественный способ обработки — выполнять вставки от наименьшего индекса к наибольшему. По мере выполнения операций накапливайте Vector объектов Integer, указывающих позиции вставки, а затем преобразуйте Vector в массив int для создания события. Если индекс позиции равен нулю, узел вставляется в начало списка. Если индекс позиции равен размеру списка, узел «вставляется» (добавляется) в конец списка.

Для удалений индексы представляют исходное состояние дерева до выполнения удалений. Поскольку индексы должны быть упорядочены, наиболее естественный способ обработки — использовать счётчик удалений. Инициализируйте счётчик нулём и проходите список от наименьшего индекса к наибольшему. При каждом удалении прибавляйте текущее значение счётчика удалений к позиции индекса, в которой произошло удаление, и добавляйте результат в Vector позиций удалений с помощью addElement(). Затем увеличивайте счётчик удалений. Таким образом, позиции индексов, сохранённые в Vector, учитывают все предыдущие удаления и отражают позицию каждого объекта в исходном дереве. (Можно также начать с наибольшего индекса и двигаться к наименьшему, накапливая Vector позиций удалений с помощью insertElementAt(Integer, 0).) Независимо от способа формирования Vector исходных позиций, затем необходимо преобразовать Vector объектов 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
Возвращает:
строковое представление этого объекта

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по 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/event/TreeModelEvent.html

Spec-Zone.ru

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