isRoot() в DefaultMutableTreeNode

Почему в DefaultMutableTreeNode есть функция isRoot()? Я спрашиваю, потому что у меня есть класс, который расширяет DefaultMutableTreeNode. Я хотел бы иметь возможность использовать один экземпляр этого класса в нескольких различных объектах JTree. Однако может показаться, что isRoot() - это вопрос, который я должен задать самому объекту дерева. Может ли кто-нибудь дать представление о том, почему эта функция существует на уровне узла, а не на уровне дерева?

1 ответ

Объект дерева не может быть корнем дерева; объект JTree не является узлом.

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

Другие вопросы по тегам