Java Baum darstellen

  • Ich arbeite an einem Projekt und versuche hierbei Daten in Form eines Baumes darzustellen (zB. Binärbaum).

    Jedoch bin ich mir nicht sicher, auf welche Art es am effektivsten ist, diesen zu zeichnen. Ist eine AWT-Zeichnung sinnvoll? Oder diesen eventuell mit Container-Layouts darstellen?

    Würde mich über gute Ratschläge freuen.

  • Ich würds selbst zeichnen. Gerade bei einem Binärbaum ist das sehr einfach und effizient ist. Allerdings irritiert mich, dass du "zB Binärbaum" geschrieben hast, ist der Baum etwa unbekannt?

    There's no better place than 127.0.0.1!

  • Ich arbeite an einem Projekt und versuche hierbei Daten in Form eines Baumes darzustellen (zB. Binärbaum).


    Ist das Programm für dich allein bzw. für interne Zwecke gedacht oder für End-User? Magst du nur eine Visualisierung als Bild haben, oder sollen die Knoten/Kanten auch "Objekte" sein in dem Sinn, daß man z.B. mit der Maus mit ihnen interagieren kann?

    Ich arbeite normalerweise mit Graphviz (http://www.graphviz.org/). Das gestaltet sich so, daß man ein Textfile generiert mit der Beschreibung des Graphen, das jagt man dann durch dot oder ein anderes Graphviz-Programm und kriegt ein PostScript- oder anderes Bildformat raus. Ich schau mir die Bilder immer extra an, aber ich schätze ein Bild auf ein Panel klatschen ist in Java auch keine Hexerei.

    Der Haken ist halt, daß Graphviz dort installiert sein muß, wo das Programm läuft. Es scheint auch irgendeine Art direktes Java-Binding zu geben, aber davon weiß ich nur das, was auf der Website steht.

    *plantsch*

  • Die Erstellung des Programms ist im Rahmen meines Projektpraktikums. Hierbei hat mein Auftraggeber bereits ein Java-Programm ueber einen Baumalgorithmus entworfen, welchen er nun graphisch darstellen möchte, dh einfach die Daten auf verschiedene Weise sich anzeigen lassen möchte.

    Allerdings irritiert mich, dass du "zB Binärbaum" geschrieben hast, ist der Baum etwa unbekannt?

    Es muss nicht umbedingt ein Binärbaum sein, sondern kann auch etwas total wirres sein. Es ist einfach ein Baum, wo ein Knoten ein oder mehrere Kinder hat.

    Graphviz wär da nicht so angebracht, da das Programm rein in JAVA laufen soll (laut Auftrag) und wohl der Professor auch nicht so begeistert wäre, wenn er andere Programme bei sich installieren müsste, um zu sehen, was ich da fabriziert habe.

    Wie gesagt wollte ich wissen, ob's in JAVA eine gute Möglichkeit gibt diesen zeichnen zu lassen. AWT ist bei mir bis jetzt die einzige Idee, die ich habe. Wie aufwändig die ist, weiß ich allerdings noch nicht (Anordnung, Platzbedarf, etc. ).

  • AWT ist bei mir bis jetzt die einzige Idee, die ich habe. Wie aufwändig die ist, weiß ich allerdings noch nicht (Anordnung, Platzbedarf, etc. ).

    Nach erneuter Überlegung bin ich zu dem Schluss gekommen, dass es eigentlich egal ist, um was für einen Baum es sich handelt, so lange du weißt, wie viele Kinder ein Knoten jeweils hat. Das Zeichnen selbst ist nicht aufwändig und die Information über die Anzahl der Kinder reicht um zu wissen, wie breit der Baum wird usw. Je nachdem, wie es aussehen soll, gibt es verschiedene Möglichkeiten, den Baum darzustellen, wie du es haben willst, musst du wissen.

    Alternativ könntest du den Baum ganz einfach mit einem JTree darstellen, allerdings bezweifle ich, dass das so aussehen soll.

    There's no better place than 127.0.0.1!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!