# [Java+Scala] GUI mit Swing oder JavaFX



## Siassei (5. Mrz 2010)

Hallo,

für eine kleine Anwendung, die mit Scala + Java erstellt wird, steht es mir frei mit was ich die GUI baue. Ich tendiere zu JavaFX oder Swing. Die Anwendung wird als Webstart realisiert.

Leider kann ich mich nicht zwischen den beiden entscheiden. Daher, auf was würdet ihr eher setzen?
Ich kenne JavaFX nicht, aber würde mich gerne in das Thema einarbeiten. Mir stellt sich die Frage, welche Vor- und Nachteile JavaFX gegenüber Swing hat.

Ein Nachteil ist mit Sicherheit die License, aber gibt es sonst noch was zu beanstanden? Oder überwiegen die Nachteile von Swing?

Gruß,
  Thomas


----------



## Landei (5. Mrz 2010)

Gibt es gute Gründe für einen Sprach-Mix? Was spricht gegen Nur-Scala?

ScalaSwing funktioniert inzwischen recht gut, ScalaFX ist wohl noch am Köcheln auf kleiner Flamme. Normales Swing lässt sich problemlos mit Scala ansprechen. Mit JavaFX kenne ich mich nicht aus, würde aber eher versuchen, darauf zu verzichten, um nich noch eine Sprache in den Mix zu werfen. Ohne mehr Hintergrundinfos ist es schwer, einen guten Ratschlag zu geben.


----------



## Siassei (5. Mrz 2010)

Servus Landei,

Gründe für einen Sprach-Mix gibt es keine. Ich schrieb Java+Scala um mich nicht nur auf Scala zu beziehen. Die vorhandenen Java-Bibliotheken werden getrennt von der GUI weiterentwickelt, weshalb für die GUI nicht unbedingt auf Java gesetzt werden muss.
Die vorhandenen Bibliotheken besitzen zur Zeit ein paar Abhängigkeiten, die in der nächsten Zeit entfernt werden sollen. Hierzu muss nahe zu alles umgeschrieben werden. Dies würde einen Wechsel auf Scala bieten  

ScalaSwing bzw. ScalaFX. Worin liegt hier der Unterschied zu Swing bzw. JavaFX? Und warum sollte man darauf setzen, wenn ich auch auf die Java-Version zurückgreifen kann?
Zu ScalaFX. Ist das Projekt eingeschlaffen oder gestoppt worden? Auf dem öffentlichen Repository ist die letzte Änderung ~1 Jahr alt!
/scala-experimental/trunk/sfx ? Scala

Noch mal zum Anfang. Was spricht für Swing gegenüber JavaFX?


----------



## Landei (5. Mrz 2010)

Siassei hat gesagt.:


> Noch mal zum Anfang. Was spricht für Swing gegenüber JavaFX?



Da ich wie gesagt JavaFX nicht kenne, kann ich da keinen fairen Vergleich bringen. Swing ist weit verbreitet, bei Java schon dabei und "nur" eine Bibliothek, nicht eine extra Sprache. Es ist leicht, in Swing eigene Komponenten zu schreiben, vorhandene umzumodeln oder eine der vielen frei verfügbaren einzusetzen. Seit 1.6 soll Swing (laut Sun) auch schneller laufen. Für einfache, funktionale Oberflächen ist Swing wahrscheinlich besser, bei komplizierteren Sachen kann man das wohl nicht so einfach entscheiden. Wie gut kennst du denn beide Alternativen?


----------



## Siassei (6. Mrz 2010)

Servus,

ich habe nun JavaFX und ScalaSwing in die engere Wahl gezogen. Die stärken von Scala geben Swing ein ganz neues Gesicht und fühlt sich ähnlich wie JavaFX an. In JavaFX sind die Effect's sehr interessant. Viele sind in Swing auch vorhanden, aber die JavaFX Effect's sind irgendwie schöner zu handhaben.

Jedoch gibt es halt das License-Problem, weshalb es Swing mit Scala werden wird. Ein paar Fragen hätte ich hierzu noch. Lassen sich Effekte wie zum Beispiel Spiegelung und Gradients aus der Toolbox einfügen oder muss man in Swing da noch Hand anlegen? Wenn ja, wie aufwändig sind derartige Effekte?

Gruß,
  Thomas


----------



## Siassei (6. Mrz 2010)

Romain Guy's Weblog: Fast or Good? (Drop Shadows)

Das sieht schon mal viel versprechend aus  Der Code beinhaltet unter anderem eine ShadowFactory. Diese stammt anscheinend von Sun. Gibt es ein Repository oder Seite, wo man Zugriff auf diese Klassen erhaltet?
Oder vielleicht ein paar gute Swing-Blogs?


----------



## Landei (6. Mrz 2010)

Na der Mensch war Coautor von Filthy Rich Clients, da gibt es auch Beispielcode zum Buch.


----------

