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.