Mit dem JTree-Objekt können baumartig strukturierte Daten dargestellt werden:
import javax.swing.*;
import javax.swing.tree.*;
import javax.swing.event.*;
public class Baum {
public static void main (String [] args) {
if (args.length<3) {
System.out.println("# Aufruf: java Baum aeste zweige blaetter");
System.exit(0);
}
int astzahl = Integer.parseInt(args[0]);
int zweigezahl = Integer.parseInt(args[1]);
int blattzahl = Integer.parseInt(args[2]);
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
DefaultMutableTreeNode wurzel = new DefaultMutableTreeNode("Wurzel");
for (int i = 1; i<=astzahl; i++) {
DefaultMutableTreeNode ast = new DefaultMutableTreeNode("Ast" + i);
wurzel.add(ast);
for (int j = 1; j<=zweigezahl; j++) {
DefaultMutableTreeNode zweig = new DefaultMutableTreeNode("Zweig" + i + j);
ast.add(zweig);
for (int k = 1; k<=blattzahl; k++) {
zweig.add(new DefaultMutableTreeNode("Blatt" + i + j + k));
}
}
}
JTree baumchen = new JTree (wurzel);
JScrollPane scrollbaum = new JScrollPane(baumchen);
frame.getContentPane().add(scrollbaum);
frame.pack();
frame.setLocation(100,100);
frame.setSize(200,300);
frame.show();
}
}
Beim Aufruf wird die Anzahl der Äste, die Anzahl der Zweige pro Ast und die Anzahl der Blätter pro Zweig angegeben; fehlt ein Parameter, so bricht das Programm mit einer kurzen Meldung ab. Das Objekt DefaultMutableTreeNode wird für jedes Baumelement verwendet, die mit der add-Methode zusammengefügt werden. Das Wurzelelement wird schließlich als Paramater an den neu erzeugten Baum übergeben.