2D-Grafik JavaScript Visualisierung in Swing, ist das möglich?

Serenity91

Mitglied
Hallo zusammen,

ich wende mich gerade mit einem ziemlich dringenden Problem an euch:

Meine aktuelle Aufgabe ist es, eine standalone Visualisierungssoftware in Java zu schreiben welche Abhängigkeiten von diversen Objekten abbilden kann. Bei meinen Recherchen bin ich auf D3.js gestoßen (link). Das Paket sieht für mich sehr ansprechend aus und bietet viele verschiedene Funktionen die für meinen Anwendungsfall wirklich gut geeignet wären. Nun zu meiner Frage:

Ist es möglich, dieses d3js Paket in eine Swing-Oberfläche einzubinden?

Ich stelle mir das so vor, dass ich in meinem Fenster quasi eine Fläche habe welche ähnlich wie in einem Browser von JS gesteuert wird. Ist das möglich?

Ich bin auf die Stichwörder HtmlUnit, Lobo und Rhino gestoßen, aber ich kann leider nicht einschätzen, ob das in die richtige Richtung geht.

Ich hoffe ihr könnt mir da weiterhelfen. Falls natürlich jemand einen goldenen Tipp haben sollte, wie man soetwas auch anders lösen kann, wäre ich natürlich sehr dankbar 🙂

Hier ist eine kleine Demo von dem was D3js so kann:

Link zur Demo

Vielen Dank und liebe Grüße,

Serenity91
 
Nein, Swing untetstützt keinerlei JavaScript, und was HTML und CSS Unterstüzung angeht, kann man die als "rudimentär" bezeichnen und ich wäre da vorsichtig. Es gibt Engines (wie Rhino), die JS interpretieren können, der Aufwand so etwas umzusetzen ist aber tausend mal größer, als sich einfach ein Framework in Java zu suchen oder ganz auf eine HTML-Seite umzusteigen (mit einem Applet drauf oder einem Java-Server als Backend).
Ich weis nicht, inwiefern es deinen Bedürfnissen entspricht, sowas tolles wie die Demo kann es glaube ich nicht, aber schau dir mal JFreeChart an.
 
Nein, Swing untetstützt keinerlei JavaScript, und was HTML und CSS Unterstüzung angeht, kann man die als "rudimentär" bezeichnen und ich wäre da vorsichtig. Es gibt Engines (wie Rhino), die JS interpretieren können, der Aufwand so etwas umzusetzen ist aber tausend mal größer, als sich einfach ein Framework in Java zu suchen oder ganz auf eine HTML-Seite umzusteigen (mit einem Applet drauf oder einem Java-Server als Backend).
Ich weis nicht, inwiefern es deinen Bedürfnissen entspricht, sowas tolles wie die Demo kann es glaube ich nicht, aber schau dir mal JFreeChart an.

Hallo Kevin94,

vielen Dank schon mal für deine Antwort. Denkst du denn, dass es prinzipiell möglich wäre, mittels Rhino so ein JS zum laufen zu bringen? Soweit ich mich jetzt eingelesen habe, ist das Tool ja eher für Testzwecke gedacht und bietet auch (so weit ich gesehen habe) nicht die Möglichkeit, grafisch etwas auszugeben, oder?

Ich bin übrigens nicht davon abgeneigt, HTML zu nutzen. Wichtig wäre dabei nur, dass die Anwendung standalone bleiben soll - es soll also kein Browser benötigt werden. Wäre es denn dementsprechend möglich, ein "Firefox-Fenster" in einem bestimmten Bereich der Oberfläche zu simulieren?

Mittlerweile gibt es ja viele Programme die durch Hilfe-Dateien durchbrowsen. Genau sowas wäre gut, nur eben mit der Möglichkeit, visuell JavaScript auszugeben.

Dieses JFreeChart bietet leider nicht die Funktionen die ich suche. Am Meisten kommt es mir auf die Fähigkeit an, Graphen im Sinne der Graphentheorie auszugeben (keine Diagramme, keine Funktions-Plots etc.). Kennst vielleicht noch jemand ein Paket das das bewerkstelligt?

Ich bin hier auf einige Pakete gestoßen, bin mir aber nicht sicher, ob die technologisch das bringen was ich suche:

Link 1

Link 2

Liebe Grüße und vielen Dank,

Serenity91
 
Die Beschreibung ist zu allgemein. In welcher Form sollen die Abhängigkeiten visualisiert werden? Graphen? Matrizen? Charts? Für jedes einzelne gibt es passende Bibliotheken in Java. Für alles zusammen (in elementarer, aber durchaus ansprechender Form wie bei D3) wüßte ich keine.
 
Die Beschreibung ist zu allgemein. In welcher Form sollen die Abhängigkeiten visualisiert werden? Graphen? Matrizen? Charts? Für jedes einzelne gibt es passende Bibliotheken in Java. Für alles zusammen (in elementarer, aber durchaus ansprechender Form wie bei D3) wüßte ich keine.

Hallo Marco13,

im Grunde genommen sollen die Abhängigkeiten auf 3 verschiedene Arten dargestellt werden:

1. Gerichtete Multigraphen ohne Mehrfachkanten mit diversen Anordnungsalgorithmen:

img-168_graph_g_o.PNG.jpg


2. Circular Bundle Views - möglichst anpassbar

1-s2.0-S0164121208000502-gr1.jpg


3. Einfache aufklappbare Hierarchien (ähnlich Ordnern)

315_vtimg1.png


Das sind zumindest erstmal die Visualisierungsarten die ich im Moment im Visir habe. Wenn jemand noch andere Möglichkeiten kennt oder gut findet, dann immer her damit 🙂

All diese Visualisierungsarten sollten nach Möglichkeit animiert und interaktiv sein, also nicht einfach nur ein gerendertes Bild.

Ich hoffe ihr könnt mir da weiterhelfen.

Liebe Grüße,

Serenity91
 

Neue Themen


Zurück
Oben