2015-08-25 5 views
0

Эй, я следующая ситуация:Работает ли калитковое дерево для «непрямых» детей?

класса Foo имеет список FOOS,
Каждый Foo содержит один или несколько объектов класса Bar и поэтому имеет список Бары.
Каждый Бар имеет один или несколько объектов QUX, что является еще одним классом и из-за того, что приберег в списке под названием Quxs.

Это даже можно перебрать эти списки/Наборы с калиткой TableTree, TreeTable, DefaultTreeTable или что-то еще.

Сейчас я пытаюсь решить эту проблему с помощью 3-х вложенных ListViews, что, кажется, не лучшее решение. Потому что, если вам нужно использовать ListView, whitin ListView ListView, трудно получить объект, на который вы ссылаетесь.

ответ

3

Решение о том, следует ли использовать ListViews или один из компонентов Tree, действительно должно быть сделано на основе желаемого внешнего вида (например, возможных взаимодействий пользователя, таких как открывающие/закрывающие узлы в дереве). Конечно, вы можете представить свой вложенный список тремя разными классами в дереве (хотя в этом случае вы, возможно, не сможете воспользоваться преимуществами Java-дженериков, если все классы не имеют подходящего общего интерфейса).

Интерфейс ITreeProvider - это хорошее место для начала, если вы хотите создать свою собственную древовидную структуру (https://ci.apache.org/projects/wicket/apidocs/7.x/org/apache/wicket/extensions/markup/html/repeater/tree/ITreeProvider.html).