Hallo,
mein Problem ist, dass ich in einem Applet einen JTree aufbauen muß der sehr viele Knoten haben kann.
Damit das Laden bzw. Aufbauen des Baumes nicht zu lange dauert würde ich gerne immer nur eine Ebene des Baumes laden und die darunter liegende Ebene erst wenn ein Teilbaum aufgeklappt. D.h. Beim ersten Anzeigen des Baumes ist die Wurzel und die direkten Nachkommen der Wurzel sichtbar. Klickt man auf einen Nachkommen so sollen die direkten Nachkommen dieses Knotens geladen werden usw.
Hat jemand schon einmal so etwas umgesetzt ?
Welche Methoden des TreeModels müssen überschreiben werden ?
Danke
Arni
Hi,
ich habe das Probleme mit einer eingen TreeNode Implementation gelöst:
public abstract class LazyTreeNode implements javax.swing.tree.TreeNode {
protected Long id;
protected String name;
private TreeNode parent;
private Collection children;
public LazyTreeNode(Long id, String name, TreeNode parent) {
this.id = id;
this.name = name;
this.parent = parent;
}
/\*\*
\*
\* TO DO
\*/
protected abstract Collection loadChildren();
public int getChildCount() {
return getChildren().size();
}
public Enumeration children() {
return new Vector(getChildren().elements();
}
private Collection getChildren() {
if(children == null) {
children = loadChildren();
}
return children;
}
.....
}
Gruß, Andreas
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]