Quote:
Originally Posted by Cyphernomic
Hey, darfst mir gerne trotzdem antworten. Bin zwar grad dabei das ganze als Konsolenanwendung umzusetzen, aber eine GUI würde ich trotzdem irgendwann draus machen. Geht mir momentan nur darum, dass es erstmal einsatzfähig ist. Das Programm ist nur für mich selber, nicht für einen Kunden oder so.
|
Naja ich habe deine Anforderungen nicht mehr auf dem Schirm, kann also nicht darauf eingehen aber ich versuche mal einfach so meine Gedanken zu Swing vs. JavaFX zu beschreiben.
Swing wird mittlerweile von JavaFX abgelöst. JavaFX ist zwar noch nicht Java Standard aber wird es wohl mit der Zeit werden. Dementsprechend bietet JavaFX natürlich viele Vorteile gegenüber Swing, was allerdings nicht heißt, dass man mit Swing nicht tolle UIs einfach basteln kann. Grundsätzlich haben beide Frameworks immer noch ihren Charme.
Ein großer Kritikpunkt an Swing ist die "unmoderne" Oberfläche. Dem gebe ich auch recht, wenn man die UI Out-of-the-Box designt, sieht es schon veraltet und hässlich gegenüber JavaFX aus. Aber man kann auch Swing-Oberflächen zu echten Schönheiten designen:
Nichts destotrotz, wie schon gesagt wird Swing mit und mit von JavaFX abgelöst. Ich würde daher auch jedem Empfehlen direkt mit JavaFX zu arbeiten. Und man kann schöne UIs in JavaFX relativ simpel aus dem Hut zaubern.
Ein riesiger Vorteil von JavaFX gegenüber Swing sind die Factorys. Ich kann für jedes Designelement bzw. sogar für die Elemente in den tieferen Ebenen Verhaltensweisen festlegen. So ist die UI nahezu komplett individualisierbar und bietet fast unzählige Gestaltungsmöglichkeiten.
Mit Hilfe dieser Factorys lassen sich auch Objekte in Nodes darstellen. Nehmen wir zum Beispiel eine Tabelle, die alle Objekte der Klasse "Land" darstellen soll.
Dazu weißen wir jeder Tabellenspalte eine Property aus der Klasse "Land" zu, passen ggf. noch an, dass die Flagge nicht als Text, sondern als Image dargestellt werden soll, setzen die Tabellenwerte und zack ist die Tabelle fertig.
Desweiteren ist die JavaFX Oberfläche mittels CSS komplett gestaltbar, es lassen sich also leicht verschiedene, teilweise recht umfangreiche Stylesheets erstellen.
Aber genug zu den Vorteilen, du wolltest ja wissen wie man schneller ans Ziel gelangt. Das lässt sich pauschal nicht sagen. Ich für meinen Teil bräuchte vermutlich mit Swing länger als mit JavaFX, weil ich seit 2014 nur mit JavaFX arbeite und Swing schon ewig nicht mehr angefasst habe. Wenn du Erfahrung mit Swing hast, bist du vermutlich damit schneller am Ziel. Wenn du etwas neues lernst, kommt es aufs gleiche Hinaus.
Hängt also von dir ab, womit du schneller am Ziel bist.
Naja wie auch immer.
Solltest du dich für JavaFX entscheiden sind hier ein paar nützliche Tools und Erweiterungen:


*Edit:
Quote:
Originally Posted by Cyphernomic
- Listen haben Einträge, die durch bestimmte Variablen bestimmt werden. Die Variablen werden stetig updated, d.h. die Einträge sollen dementsprechend auch ein Update kriegen
- o.g. Listen werden in Tables dem Benutzer angezeigt
- Es sollen auch Grafiken angezeigt werden, wie zB. ein Graph sowie ein Kreisdiagramm (diese hängen von den Listeneinträgen ab)
|
Diese Punkte sprechen für JavaFX. Das ist wesentlich leichter damit zu erreichen.