Der Baum besteht aus Gruppen- und Blattknoten. Gruppenknoten können wieder weitere Knoten enthalten (Composite Pattern). Entsprechend stehen für die beiden Knotentypen die Interfaces TreeGroupDataModel und TreeNodeDataModel bereit (TreeGroupDataModel erweitert dabei TreeNodeDatamodel). Mit ihrer Hilfe lässt sich die Baumstruktur einfach erzeugen.
Dabei wird zuerst der Wurzelknoten erzeugt unter dem dann weitere Gruppen oder Blätter eingehängt werden. Der Wurzelknoten wir dem TreeControl als Datenmodell übergeben.
// Root
ProductGroupDsp root = new ProductGroupDsp("0", "Products", "Root");
ProductGroupDsp group = null;
ProductGroupDsp subgroup = null;
// First Group under the Root-Element
group = new ProductGroupDsp("1201", "Workstations & Monitors");
subgroup = new ProductGroupDsp("2102", "Workstations");
subgroup.addChild( new ProductDsp("3005", "XWR4000", "product description"));
subgroup.addChild( new ProductDsp("3005", "XWR4010", "product description"));
group.addChild(subgroup);
subgroup = new ProductGroupDsp("2103", "Monitors");
subgroup.addChild( new ProductDsp("3101", "ITV 2800") );
subgroup.addChild( new ProductDsp("3102", "ITV 2820i") );
subgroup.addChild( new ProductDsp("3103", "ITV 3220") );
group.addChild(subgroup);
root.addChild(group);
// Secound Group under the Root-Element
group = new ProductGroupDsp("1204", "Printing & Multifunction");
root.addChild(group);
Die folgenden Klassen bilden die entsprechenden Modelle für dieses Beispiel ab:
ProductGroupDsp
ProductDsp
ProductBaseDsp
zurück |
weiter zu Schritt 5
|