Wie wird die Baumhierarchie in Java angezeigt?

8

Ich habe eine Tabelle in einer Datenbank namens "Process"

Diese Prozesstabelle hat 3 Felder:

  • Prozess-ID
  • Prozessname
  • process_parent_id

Nun möchte ich diese übergeordnete Kindhierarchie im grafischen Format anzeigen. Könnten Sie mir bitte folgendes vorschlagen:

Q1. Welche Datenstruktur wäre besser zu verwenden, um Daten aus der Datenbank zu erhalten und in dieser Datenstruktur zu speichern?

Q2. Wie man diesen Baum (Prozesshierarchie) im grafischen Format anzeigt?

BEARBEITEN:

Ich möchte das grafische Format etwa so:

    
Yatendra Goel 20.01.2010, 13:02
quelle

4 Antworten

16

Swing verfügt über ein integriertes Steuerelement zur Anzeige von Daten in einem Baumformat namens JTree . Es bietet auch ein Datenmodell namens DefaultTreeModel , mit dem Sie die Daten speichern können. Dieser Link gibt eine gute Erklärung für die Verwendung von JTree mit Daten Modell.

[Bearbeiten]:

Um Ihre aktualisierte Frage zu beantworten, könnte ein solches Diagramm durchaus von JGraph behandelt werden, das auch zur Verfügung stellen würde das Datenmodell, das ähnlich wie der Tree-Modell-Swing zu funktionieren scheint.

    
Kentaree 20.01.2010 13:05
quelle
5

Wie andere vorgeschlagen haben, ist die Verwendung von JTree eine mögliche Lösung. Wenn Sie jedoch mehr Kontrolle über das Aussehen Ihres Baumes haben möchten, rate ich Ihnen, JUNG < Graphische Bibliothek . Dies kann Ihnen möglicherweise gute Ergebnisse bringen, erfordert aber mehr Arbeit.

    
Adamski 20.01.2010 13:27
quelle
3

Was ist für die Hierarchie im grafischen Format ein JTree? Ссылка

    
Pikrass 20.01.2010 13:06
quelle
2

Zu Q1: Sie könnten im Internet mehrere Java-Implementierungen der Baumstruktur finden, zum Beispiel dieser generische Baum .

Zu Q2: Eine Alternative ist mit JTree . Überprüfen Sie den Java-Lernpfad auf Verwendung von Bäumen

JGraphT könnte ein guter Ausgangspunkt sein, um etwas wie dein Beispiel aufzubauen. Sehen Sie sich die Demo unter Ссылка

an     
JuanZe 20.01.2010 13:07
quelle