Blätter zu einem JTree hinzufügen

Status
Nicht offen für weitere Antworten.

hakker82

Mitglied
Ich habe versucht an einen JTree Blätter anzuhängen. Erzeuge ich ein Objekt von dieser Klasse, hat der JTree keine Blätter. Was mache ich falsch?

Code:
package muscodgui;
import javax.swing.JTree;
import javax.swing.event.TreeSelectionListener;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.tree.DefaultMutableTreeNode;

public class SelectTree extends JTree {
	private JTree tree;

	public SelectTree() {
		DefaultMutableTreeNode root = new DefaultMutableTreeNode("Modules");
		DefaultMutableTreeNode source = new DefaultMutableTreeNode("Source code");
		DefaultMutableTreeNode dat = new DefaultMutableTreeNode("Dat file");
		DefaultMutableTreeNode text = new DefaultMutableTreeNode("Text file");

		root.add(source); root.add(dat); root.add(text);
		tree = new JTree(root);
	}
}
 
Vererbung ist eine 'blupp ist ein JTree' Beziehung.
Aggregation (also private JTree tree = new JTree(); ) ist eine "blupp hat einen JTree" Beziehung.
Bei dir also "SelectTree ist ein JTree und hat einen JTree"
Überleg dir vorher ob du "erben" oder "verwenden" willst, aber mach nicht beides.
 
Und das ist daran schuld, dass mein Baum nicht das tut, was ich will? Kann ich mir nicht vorstellen. Außerdem stellt unterscheidet sich ein SelectTree von einem JTree.
 
Code:
package muscodgui;
import javax.swing.JTree;
import javax.swing.event.TreeSelectionListener;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.tree.DefaultMutableTreeNode;

public class SelectTree extends JTree {
	private JTree tree;

	public SelectTree() {
		DefaultMutableTreeNode root = new DefaultMutableTreeNode("Modules");
		DefaultMutableTreeNode source = new DefaultMutableTreeNode("Source code");
		DefaultMutableTreeNode dat = new DefaultMutableTreeNode("Dat file");
		DefaultMutableTreeNode text = new DefaultMutableTreeNode("Text file");

		root.add(source); root.add(dat); root.add(text);
		new JTree(root);
	}
}

so dürfte es gehen...

und wie wildcard schon gesagt hat, wozu brauchst du dann die lokale variable tree, wenn deine klasse SelectTree schon ein JTree ist?
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben