2009-10-07 1 views
0

Я хочу построить TreeModel от некоторых List s, которые содержат исходные данные. Теперь есть класс утилиты с именем DynamicUtilTreeNode, который можно использовать для построения деревьев из массивов, векторов и Hashtables, но ... не из списков ?! Конечно, я мог бы использовать метод List toArray(), но теперь он дает клон-массив состояния List, поэтому любые изменения в List не будут распространяться на TreeModel.TreeModel, поддерживаемый списками

Есть ли очевидная причина, по которой DynamicUtilTreeNode не поддерживает списки? Есть ли что-то подобное, что будет поддерживать списки, или я должен просто написать это сам?

ответ

2

GlazedLists содержит все, чтобы построить динамическое дерево из списков, которые автоматически обновляются при изменении списков.

1

Есть ли очевидная причина, по которой DynamicUtilTreeNode не поддерживает списки?

Похоже, что DynamicUtilTreeNode было написано до или в то время, когда в Java 1.2 была представлена ​​структура списка коллекций. Поддерживаемые коллекции (Vector и Hashtable) - это те, которые необходимо было доработать до интерфейса List. Вы заметите, что JTable, также использует Vector и Object массивов в его конструкциях быстрого запуска.

Есть ли что-либо подобное, что поддерживало списки, или я должен просто написать его сам?

Я не вижу ничего в JDK, заменяющем его совместимой версией List. Вам может быть лучше всего катиться самостоятельно. По крайней мере, это может дать вам лучшее представление о том, как используются объекты TreeNode.