Spec-Zone.ru › OpenJDK 21

Класс DefaultTreeModel

java.lang.Object
javax.swing.tree.DefaultTreeModel
Все реализованные интерфейсы:
Serializable, TreeModel
public class DefaultTreeModel extends Object implements Serializable, TreeModel
Простой модель данных дерева, использующий узлы TreeNodes. Для получения дополнительной информации и примеров использования DefaultTreeModel, см. Как использовать деревья в Руководстве по Java.

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

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

Модификатор и тип Поле Описание
protected boolean asksAllowsChildren
Определяет, как метод isLeaf определяет, является ли узел листом.
protected EventListenerList listenerList
Слушатели.
protected TreeNode root
Корень дерева.

Краткое описание конструкторов

Конструктор Описание
DefaultTreeModel(TreeNode root)
Создаёт дерево, в котором любой узел может иметь дочерние узлы.
DefaultTreeModel(TreeNode root, boolean asksAllowsChildren)
Создаёт дерево, определяя, может ли любой узел иметь дочерние узлы или только определённые узлы могут иметь дочерние узлы.

Краткое описание методов

Модификатор и тип Метод Описание
void addTreeModelListener(TreeModelListener l)
Добавляет слушателя для события TreeModelEvent, публикуемого после изменений в дереве.
boolean asksAllowsChildren()
Указывает, как определяются листовые узлы.
protected void fireTreeNodesChanged(Object source, Object[] path, int[] childIndices, Object[] children)
Уведомляет всех слушателей, зарегистрированных для уведомлений об этом типе событий.
protected void fireTreeNodesInserted(Object source, Object[] path, int[] childIndices, Object[] children)
Уведомляет всех слушателей, зарегистрированных для уведомлений об этом типе событий.
protected void fireTreeNodesRemoved(Object source, Object[] path, int[] childIndices, Object[] children)
Уведомляет всех слушателей, зарегистрированных для уведомлений об этом типе событий.
protected void fireTreeStructureChanged(Object source, Object[] path, int[] childIndices, Object[] children)
Уведомляет всех слушателей, зарегистрированных для уведомлений об этом типе событий.
Object getChild(Object parent, int index)
Возвращает дочерний узел parent с индексом index в массиве дочерних узлов родительского узла.
int getChildCount(Object parent)
Возвращает количество дочерних узлов parent.
int getIndexOfChild(Object parent, Object child)
Возвращает индекс дочернего узла в родительском узле.
<T extends EventListener>
T[]
getListeners(Class<T> listenerType)
Возвращает массив всех объектов, в настоящее время зарегистрированных в качестве FooListener для данной модели.
TreeNode[] getPathToRoot(TreeNode aNode)
Строит массив родителей узла вплоть до корневого узла, где исходный узел является последним элементом в возвращаемом массиве.
protected TreeNode[] getPathToRoot(TreeNode aNode, int depth)
Строит массив родителей узла вплоть до корневого узла, где исходный узел является последним элементом в возвращаемом массиве.
Object getRoot()
Возвращает корень дерева.
TreeModelListener[] getTreeModelListeners()
Возвращает массив всех слушателей модели дерева, зарегистрированных в этой модели.
void insertNodeInto(MutableTreeNode newChild, MutableTreeNode parent, int index)
Вызывается для вставки newChild на место index в дочерних узлах parents.
boolean isLeaf(Object node)
Возвращает, является ли указанный узел листовым узлом.
void nodeChanged(TreeNode node)
Вызывайте этот метод после изменения представления узла в дереве.
void nodesChanged(TreeNode node, int[] childIndices)
Вызывайте этот метод после изменения представления дочерних узлов, идентифицированных childIndicies, в дереве.
void nodeStructureChanged(TreeNode node)
Вызывайте этот метод, если вы полностью изменили дочерние узлы узла и дочерние узлы его дочерних узлов...
void nodesWereInserted(TreeNode node, int[] childIndices)
Вызывайте этот метод после вставки некоторых TreeNodes в узел.
void nodesWereRemoved(TreeNode node, int[] childIndices, Object[] removedChildren)
Вызывайте этот метод после удаления некоторых TreeNodes из узла.
void reload()
Вызывайте этот метод, если вы изменили TreeNode, от которых зависит эта модель.
void reload(TreeNode node)
Вызывайте этот метод, если вы изменили TreeNode, от которых зависит эта модель.
void removeNodeFromParent(MutableTreeNode node)
Отправьте это сообщение, чтобы удалить узел из его родительского узла.
void removeTreeModelListener(TreeModelListener l)
Удаляет слушателя, ранее добавленного с помощью addTreeModelListener().
void setAsksAllowsChildren(boolean newValue)
Устанавливает, нужно ли тестировать листовость, спрашивая getAllowsChildren() или isLeaf() у TreeNodes.
void setRoot(TreeNode root)
Устанавливает корень в root.
void valueForPathChanged(TreePath path, Object newValue)
Это устанавливает объект пользователя TreeNode, идентифицируемого путем, и публикует изменения узла.

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

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

Подробное описание полей

root

protected TreeNode root
Корень дерева.

listenerList

protected EventListenerList listenerList
Слушатели.

asksAllowsChildren

protected boolean asksAllowsChildren
Определяет, как метод isLeaf определяет, является ли узел листом. Если true, узел является листом, если он не допускает дочерних элементов. (Если он допускает дочерние элементы, он не является листом, даже если дочерних элементов нет). Это позволяет, например, различать узлы папки и узлы файла в файловой системе.

Если это значение false, то любой узел без дочерних элементов является листом, и любой узел может получить дочерние элементы.

См. также:
  • TreeNode.getAllowsChildren()
  • TreeModel.isLeaf(java.lang.Object)
  • setAsksAllowsChildren(boolean)

Подробное описание конструкторов

DefaultTreeModel

@ConstructorProperties("root") public DefaultTreeModel(TreeNode root)
Создаёт дерево, в котором любой узел может иметь дочерние элементы.
Параметры:
root - объект TreeNode, являющийся корнем дерева
См. также:
  • DefaultTreeModel(TreeNode, boolean)

DefaultTreeModel

public DefaultTreeModel(TreeNode root, boolean asksAllowsChildren)
Создаёт дерево, определяя, может ли любой узел иметь дочерние элементы или только определённые узлы могут иметь дочерние элементы.
Параметры:
root - объект TreeNode, являющийся корнем дерева
asksAllowsChildren - логическое значение, false, если любой узел может иметь дочерние элементы, true, если каждый узел должен определить, может ли он иметь дочерние элементы
См. также:
  • asksAllowsChildren

Подробное описание методов

setAsksAllowsChildren

public void setAsksAllowsChildren(boolean newValue)
Устанавливает, следует ли проверять наличие листа, запрашивая getAllowsChildren() или isLeaf() у узлов TreeNodes. Если newvalue равно true, вызывается getAllowsChildren(), в противном случае вызывается isLeaf().
Параметры:
newValue - если true, вызывается getAllowsChildren(), в противном случае вызывается isLeaf()

asksAllowsChildren

public boolean asksAllowsChildren()
Указывает, как определяются листья.
Возвращает:
true, если листья — только те узлы, которые не допускают дочерние элементы, false, если листья — узлы без дочерних элементов (даже если они разрешены)
См. также:
  • asksAllowsChildren

setRoot

public void setRoot(TreeNode root)
Устанавливает корень в root. Значение null для root означает, что дерево должно отображать ничего, и это допустимо.
Параметры:
root - новое значение корня дерева

getRoot

public Object getRoot()
Возвращает корень дерева. Возвращает null только в том случае, если дерево не имеет узлов.
Указано в:
getRoot в интерфейсе TreeModel
Возвращает:
корень дерева

getIndexOfChild

public int getIndexOfChild(Object parent, Object child)
Возвращает индекс дочернего элемента в родительском элементе. Если родительский или дочерний элемент null, возвращается -1.
Указано в:
getIndexOfChild в интерфейсе TreeModel
Параметры:
parent - узел в дереве, полученный из этого источника данных
child - узел, который нас интересует
Возвращает:
индекс дочернего элемента в родительском элементе или -1, если родительский или дочерний элемент null

getChild

public Object getChild(Object parent, int index)
Возвращает дочерний элемент родительского элемента с индексом индекс в массиве дочерних элементов родительского элемента. родительский элемент должен быть узлом, ранее полученным из этого источника данных. Он не должен возвращать null, если индекс является допустимым индексом для родительского элемента (то есть индекс ≥ 0 и индекс < getChildCount(родительский элемент)).
Указано в:
getChild в интерфейсе TreeModel
Параметры:
parent - узел в дереве, полученный из этого источника данных
index - индекс дочернего элемента для возврата
Возвращает:
дочерний элемент родительского элемента с индексом индекс

getChildCount

public int getChildCount(Object parent)
Возвращает количество дочерних элементов родительского элемента. Возвращает 0, если узел является листом или если у него нет дочерних элементов. родительский элемент должен быть узлом, ранее полученным из этого источника данных.
Указано в:
getChildCount в интерфейсе TreeModel
Параметры:
parent - узел в дереве, полученный из этого источника данных
Возвращает:
количество дочерних элементов узла родительский элемент

isLeaf

public boolean isLeaf(Object node)
Возвращает, является ли указанный узел листом. Способ проверки зависит от настройки asksAllowsChildren.
Указано в:
isLeaf в интерфейсе TreeModel
Параметры:
node - узел для проверки
Возвращает:
true, если узел является листом
См. также:
  • asksAllowsChildren
  • TreeModel.isLeaf(java.lang.Object)

reload

public void reload()
Вызовите этот метод, если вы изменили TreeNode , от которых зависит эта модель. Модель уведомит всех своих слушателей о том, что модель изменилась.

valueForPathChanged

public void valueForPathChanged(TreePath path, Object newValue)
Это устанавливает объект пользователя для узла TreeNode, идентифицированного путем, и публикует изменение узла. Если вы используете пользовательские объекты в TreeModel, вам нужно будет переопределить этот метод и установить объект пользователя изменённого узла на что-то осмысленное.
Указано в:
valueForPathChanged в интерфейсе TreeModel
Параметры:
path - путь к узлу, который пользователь изменил
newValue - новое значение из TreeCellEditor

insertNodeInto

public void insertNodeInto(MutableTreeNode newChild, MutableTreeNode parent, int index)
Вызывается для вставки newChild в местоположение index в дочерних элементах родительского элемента. После этого будет вызван метод nodesWereInserted, чтобы создать соответствующее событие. Это предпочтительный способ добавления дочерних элементов, так как он создаст соответствующее событие.
Параметры:
newChild - дочерний узел, который нужно вставить
parent - узел, к которому нужно добавить новый узел
index - индекс дочерних элементов родительского элемента

removeNodeFromParent

public void removeNodeFromParent(MutableTreeNode node)
Вызывается для удаления узла из родительского элемента. Будет вызван метод nodesWereRemoved, чтобы создать соответствующее событие. Это предпочтительный способ удаления узла, так как он обрабатывает создание события за вас.
Параметры:
node - узел, который нужно удалить из родительского элемента

nodeChanged

public void nodeChanged(TreeNode node)
Вызовите этот метод после того, как вы изменили способ представления узла в дереве.
Параметры:
node - изменённый узел

reload

public void reload(TreeNode node)
Вызовите этот метод, если вы изменили TreeNode , от которых зависит эта модель. Модель уведомит всех своих слушателей о том, что модель изменилась ниже указанного узла.
Параметры:
node - узел, ниже которого модель изменилась

nodesWereInserted

public void nodesWereInserted(TreeNode node, int[] childIndices)
Вызовите этот метод после того, как вы вставили некоторые TreeNodes в узел. childIndices должны быть индексами новых элементов и должны быть отсортированы в порядке возрастания.
Параметры:
node - родительский узел, количество дочерних элементов которого увеличилось
childIndices - индексы вставленных дочерних элементов

nodesWereRemoved

public void nodesWereRemoved(TreeNode node, int[] childIndices, Object[] removedChildren)
Вызовите этот метод после того, как вы удалили некоторые TreeNodes из узла. childIndices должны быть индексами удалённых элементов и должны быть отсортированы в порядке возрастания. А removedChildren — массив объектов дочерних элементов, которые были удалены.
Параметры:
node - родительский узел, у которого были удалены дочерние элементы
childIndices - индексы удалённых дочерних элементов
removedChildren - массив объектов дочерних элементов, которые были удалены

nodesChanged

public void nodesChanged(TreeNode node, int[] childIndices)
Вызовите этот метод после того, как вы изменили способ представления дочерних элементов, идентифицируемых childIndicies, в дереве.
Parameters:
node - изменённый узел
childIndices - индексы изменённых дочерних элементов

nodeStructureChanged

public void nodeStructureChanged(TreeNode node)
Вызовите этот метод, если вы полностью изменили дочерние элементы узла и дочерние элементы его дочерних элементов... Это вызовет событие treeStructureChanged.
Parameters:
node - изменённый узел

getPathToRoot

public TreeNode[] getPathToRoot(TreeNode aNode)
Строит родителей узла до корневого узла включительно, где исходный узел является последним элементом в возвращаемом массиве. Длина возвращаемого массива указывает глубину узла в дереве.
Parameters:
aNode - узел TreeNode, для которого необходимо получить путь
Returns:
массив TreeNode, указывающий путь от корня

getPathToRoot

protected TreeNode[] getPathToRoot(TreeNode aNode, int depth)
Строит родителей узла до корневого узла включительно, где исходный узел является последним элементом в возвращаемом массиве. Длина возвращаемого массива указывает глубину узла в дереве.
Parameters:
aNode - узел TreeNode, для которого необходимо получить путь
depth - целое число, указывающее количество шагов, уже сделанных к корню (при рекурсивных вызовах), используемое для определения размера возвращаемого массива
Returns:
массив TreeNode, указывающий путь от корня к указанному узлу

addTreeModelListener

public void addTreeModelListener(TreeModelListener l)
Добавляет слушателя для события TreeModelEvent, публикуемого после изменения дерева.
Specified by:
addTreeModelListener в интерфейсе TreeModel
Parameters:
l - слушатель для добавления
See Also:
  • removeTreeModelListener(javax.swing.event.TreeModelListener)

removeTreeModelListener

public void removeTreeModelListener(TreeModelListener l)
Удаляет слушателя, ранее добавленного с помощью addTreeModelListener().
Specified by:
removeTreeModelListener в интерфейсе TreeModel
Parameters:
l - слушатель для удаления
See Also:
  • addTreeModelListener(javax.swing.event.TreeModelListener)

getTreeModelListeners

public TreeModelListener[] getTreeModelListeners()
Возвращает массив всех слушателей модели дерева, зарегистрированных в этой модели.
Returns:
все слушатели модели дерева этой модели или пустой массив, если слушатели модели дерева не зарегистрированы
Since:
1.4
See Also:
  • addTreeModelListener(javax.swing.event.TreeModelListener)
  • removeTreeModelListener(javax.swing.event.TreeModelListener)

fireTreeNodesChanged

protected void fireTreeNodesChanged(Object source, Object[] path, int[] childIndices, Object[] children)
Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе события. Экземпляр события создается лениво с использованием параметров, переданных в метод fire.
Parameters:
source - источник события; обычно this
path - путь к родителю узлов, которые изменились; используйте null для определения того, что изменился корень
childIndices - индексы изменённых элементов
children - изменённые элементы

fireTreeNodesInserted

protected void fireTreeNodesInserted(Object source, Object[] path, int[] childIndices, Object[] children)
Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе события. Экземпляр события создается лениво с использованием параметров, переданных в метод fire.
Parameters:
source - источник события; обычно this
path - путь к родителю узлов, которые были добавлены
childIndices - индексы новых элементов
children - новые элементы

fireTreeNodesRemoved

protected void fireTreeNodesRemoved(Object source, Object[] path, int[] childIndices, Object[] children)
Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе события. Экземпляр события создается лениво с использованием параметров, переданных в метод fire.
Parameters:
source - источник события; обычно this
path - путь к родителю узлов, которые были удалены
childIndices - индексы удалённых элементов
children - удалённые элементы

fireTreeStructureChanged

protected void fireTreeStructureChanged(Object source, Object[] path, int[] childIndices, Object[] children)
Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе события. Экземпляр события создается лениво с использованием параметров, переданных в метод fire.
Parameters:
source - источник события; обычно this
path - путь к родителю структуры, которая изменилась; используйте null для определения того, что изменился корень
childIndices - индексы затронутых элементов
children - затронутые элементы

getListeners

public <T extends EventListener> T[] getListeners(Class<T> listenerType)
Возвращает массив всех объектов, в настоящее время зарегистрированных в качестве слушателей этой модели. Слушатели регистрируются с помощью метода addFooListener.

Вы можете указать аргумент listenerType с литералом класса, например, FooListener.class. Например, вы можете запросить слушателей модели дерева DefaultTreeModel m следующим кодом:

TreeModelListener[] tmls = (TreeModelListener[])(m.getListeners(TreeModelListener.class));
Если такие слушатели отсутствуют, этот метод возвращает пустой массив.
Type Parameters:
T - тип слушателя
Parameters:
listenerType - тип запрашиваемых слушателей
Returns:
массив всех объектов, зарегистрированных в качестве слушателей на этом компоненте, или пустой массив, если такие слушатели не были добавлены
Throws:
ClassCastException - если listenerType не указывает класс или интерфейс, реализующий java.util.EventListener
Since:
1.3
See Also:
  • getTreeModelListeners()

© 1993, 2023, 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/21/docs/api/java.desktop/javax/swing/tree/DefaultTreeModel.html

Spec-Zone.ru

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