21
Авг
2015

Что значит "expanded" и "collapsed" tree node?

Выполняю учебное задание по Java, цель состоит в написании класса по заданному интерфейсу. Класс должен реализовать узел дерева (для каждого узла есть 1 родитель и коллекция детей). Среди прочего, есть в интерфейсе два метода, которые описаны следующим образом:

/**
 * Returns the "expanded" state of this <code>TreeNode</code>.<br/>
 * By default (unless {@link #setExpanded(boolean)} is called)
 *  "expanded" is false (i.e. the node is "collapsed").
 */
boolean isExpanded();
/**
 * Sets the "expanded" state to this <code>TreeNode</code> and to all its children, recursively
 * @param expanded true - to expand this tree branch, false - to collapse this tree branch.
 */
void setExpanded(boolean expanded);

Не очень понятно в чём состоит скрытый смысл слова "expanded". Если я правильно понял, можно реализовать эти два метода просто засунув в описание узла поле boolean expanded = false, методом isExpanded() возвращать эту переменную, а в методе setExpanded() установить значение этой переменной в true/false для данного узла, всех его детей, его детей детей и т.д. для всех узлов, для которых данный узел является корневым. Или кроме этого нужно проводить ещё какие-то операции с узлом? Просто слегка напрягает фраза

true - to expand this tree branch, false - to collapse this tree branch

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

Источник: https://ru.stackoverflow.com/questions/444316/%D0%A7%D1%82%D0%BE-%D0%B7%D0%BD%D0%B0%D1%87%D0%B8%D1%82-expanded-%D0%B8-collapsed-tree-node

Share

Тебе может это понравится...