Spec-Zone.ru › OpenJDK 8

Класс DefaultTreeModel

  • java.lang.Object
    • javax.swing.tree.DefaultTreeModel
Все реализованные интерфейсы:
Serializable, TreeModel

public class DefaultTreeModel
extends Object
implements Serializable, TreeModel

Простая модель данных дерева, использующая TreeNodes. Дополнительную информацию и примеры, использующие DefaultTreeModel, см. в Руководстве по деревьям в Java Tutorial.

Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими выпусками 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 в потомках parent.

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(value="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)

Устанавливает, нужно ли проверять листвость, спрашивая у TreeNodes getAllowsChildren() или isLeaf(). Если newvalue равно true, вызывается getAllowsChildren(), в противном случае – isLeaf().

asksAllowsChildren

public boolean asksAllowsChildren()

Указывает, как определяются листья.

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

setRoot

public void setRoot(TreeNode root)

Устанавливает корень в 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 - узел в дереве, полученный из этого источника данных
Возвращает:
дочерний элемент родителя с индексом индекс

getChildCount

public int getChildCount(Object parent)

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

Задано в:
getChildCount в интерфейсе TreeModel
Параметры:
parent - узел в дереве, полученный из этого источника данных
Возвращает:
количество дочерних элементов узла родитель

isLeaf

public boolean isLeaf(Object node)

Возвращает, является ли указанный узел листом. Способ выполнения проверки зависит от настройки askAllowsChildren.

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

reload

public void reload()

Вызовите этот метод, если вы изменили TreeNodes, от которых зависит эта модель. Модель уведомит всех своих прослушивателей о том, что модель изменилась.

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 в дочерних элементах parents. Затем вызывается метод nodesWereInserted для создания соответствующего события. Это предпочтительный способ добавления дочерних элементов, так как он создает соответствующее событие.

removeNodeFromParent

public void removeNodeFromParent(MutableTreeNode node)

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

nodeChanged

public void nodeChanged(TreeNode node)

Вызовите этот метод после изменения представления узла в дереве.

reload

public void reload(TreeNode node)

Вызовите этот метод, если вы изменили TreeNodes, от которых зависит эта модель. Модель уведомит всех своих прослушивателей о том, что модель изменилась ниже заданного узла.

Параметры:
node - узел, ниже которого модель изменилась

nodesWereInserted

public void nodesWereInserted(TreeNode node,
                              int[] childIndices)

Вызовите этот метод после вставки некоторых TreeNodes в узел. childIndices должны быть индексами новых элементов и должны быть отсортированы по возрастанию.

nodesWereRemoved

public void nodesWereRemoved(TreeNode node,
                             int[] childIndices,
                             Object[] removedChildren)

Вызовите этот метод после удаления некоторых TreeNodes из узла. childIndices должны быть индексами удаленных элементов и должны быть отсортированы по возрастанию. А removedChildren должен быть массивом объектов дочерних элементов, которые были удалены.

nodesChanged

public void nodesChanged(TreeNode node,
                         int[] childIndices)

Вызовите этот метод после изменения представления дочерних элементов, идентифицированных childIndicies, в дереве.

nodeStructureChanged

public void nodeStructureChanged(TreeNode node)

Вызовите этот метод, если вы полностью изменили дочерние элементы узла и дочерние элементы его дочерних элементов... Это вызовет событие treeStructureChanged.

getPathToRoot

public TreeNode[] getPathToRoot(TreeNode aNode)

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

Параметры:
aNode - TreeNode, для которого нужно получить путь

getPathToRoot

protected TreeNode[] getPathToRoot(TreeNode aNode,
                                   int depth)

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

Параметры:
aNode - TreeNode, для которого нужно получить путь
depth - целое число, задающее количество шагов, уже сделанных к корню (при рекурсивных вызовах), используемое для определения размера возвращаемого массива
Возвращает:
массив TreeNodes, дающий путь от корня до указанного узла

addTreeModelListener

public void addTreeModelListener(TreeModelListener l)

Добавляет прослушиватель для TreeModelEvent, публикуемого после изменений в дереве.

Задано в:
addTreeModelListener в интерфейсе TreeModel
Параметры:
l - прослушиватель для добавления
См. также:
removeTreeModelListener(javax.swing.event.TreeModelListener)

removeTreeModelListener

public void removeTreeModelListener(TreeModelListener l)

Удаляет прослушивателя, ранее добавленного с помощью addTreeModelListener().

Задано в:
removeTreeModelListener в интерфейсе TreeModel
Параметры:
l - прослушиватель для удаления
См. также:
addTreeModelListener(javax.swing.event.TreeModelListener)

getTreeModelListeners

public TreeModelListener[] getTreeModelListeners()

Возвращает массив всех прослушивателей модели дерева, зарегистрированных в этой модели.

Возвращает:
все TreeModelListener этого модели или пустой массив, если нет зарегистрированных слушателей модели дерева.
С:
1.4
См. также:
addTreeModelListener(javax.swing.event.TreeModelListener), removeTreeModelListener(javax.swing.event.TreeModelListener)

fireTreeNodesChanged

protected void fireTreeNodesChanged(Object source,
                                    Object[] path,
                                    int[] childIndices,
                                    Object[] children)

Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе события. Экземпляр события создается лениво с использованием параметров, переданных в метод fire.

Параметры:
source - источник TreeModelEvent; обычно this
path - путь к родительскому узлу измененных узлов; используйте null для указания изменения корня
childIndices - индексы измененных элементов
children - измененные элементы

fireTreeNodesInserted

protected void fireTreeNodesInserted(Object source,
                                     Object[] path,
                                     int[] childIndices,
                                     Object[] children)

Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе события. Экземпляр события создается лениво с использованием параметров, переданных в метод fire.

Параметры:
source - источник TreeModelEvent; обычно this
path - путь к родителю, к которому были добавлены узлы
childIndices - индексы новых элементов
children - новые элементы

fireTreeNodesRemoved

protected void fireTreeNodesRemoved(Object source,
                                    Object[] path,
                                    int[] childIndices,
                                    Object[] children)

Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе события. Экземпляр события создается лениво с использованием параметров, переданных в метод fire.

Параметры:
source - источник TreeModelEvent; обычно this
path - путь к родителю, из которого были удалены узлы
childIndices - индексы удаленных элементов
children - удаленные элементы

fireTreeStructureChanged

protected void fireTreeStructureChanged(Object source,
                                        Object[] path,
                                        int[] childIndices,
                                        Object[] children)

Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе события. Экземпляр события создается лениво с использованием параметров, переданных в метод fire.

Параметры:
source - источник TreeModelEvent; обычно this
path - путь к родителю структуры, которая изменилась; используйте null для указания изменения корня
childIndices - индексы затронутых элементов
children - затронутые элементы

getListeners

public <T extends EventListener> T[] getListeners(Class<T> listenerType)

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

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

TreeModelListener[] tmls = (TreeModelListener[])(m.getListeners(TreeModelListener.class));
Если таких слушателей не существует, этот метод возвращает пустой массив.
Параметры:
listenerType - тип запрашиваемых слушателей; этот параметр должен указывать интерфейс, унаследованный от java.util.EventListener
Возвращает:
массив всех объектов, зарегистрированных как FooListener в этом компоненте, или пустой массив, если такие слушатели не были добавлены
Исключения:
ClassCastException - если listenerType не указывает класс или интерфейс, реализующий java.util.EventListener
С:
1.3
См. также:
getTreeModelListeners()

© 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