# Interaktive grafische JEE App?



## membersound (30. Nov 2012)

Hi,

ich möchte folgendes browserbasiertes App schreiben:
- der Benutzer soll Rechtecke, Kreise, Linien, Pfeile etc zeichnen können
- jede Grafik soll ein Objekt-Type repräsentieren, für die spezielles Verhalten definiert werden kann
- Rechtecke und Kreise sollen mit Linien und Pfeilen verbunden werden. Nicht nur grafisch, sondern der Backing-Code soll dies natürlich auch in Objekten speichern


Ich denke man könnte mein Vorhaben in etwa mit einem UML-Editor vergleichen, der aber im Browser und nicht als Desktopapp laufen soll.

Jetzt die Frage: ich beherrsche die gängigen JEE technologien wie JSP, JSF, Tapestry, JS, HTML etc.
Von dem Grafikbereich habe ich aber gar keine Ahnung.



Womit könnte ich mein Vorhaben am Ehesten erreichen?
Wichtig ist mir auch, dass die visuellen Elemente einigermaßen aussehen, nicht so altbacken wie zB Swing/AWT.
Und wie kann ich Interaktion zwischen den einzelnen Elementen auf der grafischen Oberfläche realisieren? Interaktion im Backing code ist ja kein Problem, aber wie realisiert man so etwas in der Oberfläche. Angefangen zu detektieren welches Element gerade angeklickt wurde, bishin zu drag drop und resize.


----------



## Ullenboom (1. Dez 2012)

Mit HTML5 geht das richtig chic, weil man damit auf ein Canvas zeichnen kann. Google mal nach Graph-Frameworks. Im Browler zeichnet dann JavaScript und die Änderungen werden auf die Serverseite etwa mir REST weitergereicht.


----------



## TheDarkRose (1. Dez 2012)

GWT ist auch eine alternative. Browser und Serverseitig beides in Java zum programmieren. Der Browser Teil wird dann in Javascript übersetzt. So lassen sich recht gut Ajax lastige und dynamische Seiten entwickeln. 

Gesendet von meinem Nexus 7 mit Tapatalk 2


----------



## membersound (5. Dez 2012)

Könnt ihr mir sagen, ob ein Editor dieser Art (mxDraw Example) in GWT Canvas realisierbar ist?

Wichtig vor allem: runde Shapes, Gradients, Drop Shadows, Text mit den Shapes verankert, Connections zwischen den Shapes, Zoom in/out, highlight shape on select.


Was sagt ihr? Der Beispieleditor ist in JS realisiert, mir ist aber wichtig dass ich sowas mit reinem Java erstelle.


----------



## freez (6. Dez 2012)

membersound hat gesagt.:


> Was sagt ihr? Der Beispieleditor ist in JS realisiert, mir ist aber wichtig dass ich sowas mit reinem Java erstelle.



Also mit GWT kenne ich mich nicht aus, aber der Browser versteht die Sprache Java nicht. Er kennt nur JavaScript / HTML / CSS. 

Wenn du es ausschließlich in Java erstellen möchtest, brauchst du Java Klasse, die in JavaScript und HTML umgesetzt werden. Aber solange du kein Framework bauen willst, kannst du dir diese Arbeit eigentlich sparen. Nur für einen Anwendungsfall macht das wahrscheinlich keinen Sinn.
Wenn aber GWT sowas bereits kann, dann sollten sich doch fertige Komponenten finden lassen.


----------



## TheDarkRose (6. Dez 2012)

GWT ist so konstruiert, dass es aus Java code Javascript macht. Das ist ja der Clou daran. Man kann schön objektorientiert und streng typisiert in Java arbeiten, und GWT kompiliert daraus eine Javascript Datei, welche man rein clientseitig im Browser laufen lassen kann. 

Gesendet von meinem Nexus 7 mit Tapatalk 2


----------



## Ullenboom (16. Dez 2012)

Im Netz wird auch diskutiert, wie sich mxGraph aus GWT nutzen lässt. Siehe https://github.com/jgraph/mxgraph-gwt. Dann bekommst du das Zeichen-Framework geschenkt und "nur" noch das Drumherum ist nötig.


----------

