Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Java
You last visited: Today at 15:38

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Java GUI - schnell zum Ziel: mit Swing oder JavaFX?

Discussion on Java GUI - schnell zum Ziel: mit Swing oder JavaFX? within the Java forum part of the Coders Den category.

Reply
 
Old   #1



 
cypher's Avatar
 
elite*gold: 600
The Black Market: 1061/0/0
Join Date: Sep 2008
Posts: 10,543
Received Thanks: 3,089
Java GUI - schnell zum Ziel: mit Swing oder JavaFX?

Hallo,

ich habe noch nie in Java eine GUI programmiert, muss es dieses mal aber für eine Anwendung mache. Wie komme ich möglichst schnell zum Ziel?
Mit Swing oder JavaFX? Was ist einfacher und effizienter umzusetzen?

Meine Anforderungen sind folgende:
- Benutzer kann Eingaben tätigen, um Objekte für versch. Listen (die dann in einer Table angezeigt werden) zu erstellen
- Es soll ein Graph & ein Kreisdiagramm angezeigt werden
- Es gibt ein paar Variablen, die sich stetig verändern, d.h. die Listeneinträge und Grafiken (Graph, Diagramm etc.) sollen sich an die Werte anpassen

Ein Tipp + ein paar Links zu Resourcen wäre sehr nett.
Würde mich freuen, wenn mir jemand in eine Richtung zeigen könnte, bin gerade wild Tutorials am gucken. JavaFX sieht zwar schick aus, aber ich würde das dann höchstwahrscheinlich ohne den Scene Builder machen. Gefällt mir nicht.

MfG
Cyphernomic
cypher is offline  
Old 01/23/2019, 09:55   #2
 
Zunft's Avatar
 
elite*gold: 0
Join Date: Mar 2013
Posts: 3,185
Received Thanks: 1,317
Quote:
Originally Posted by Cyphernomic View Post
Edit: Habe mich entschieden, doch ein Konsolenprogramm zu machen. GUIs sind für Noobs xD
Na toll, jetzt wo ich gerade antworten wollte...
Zunft is offline  
Thanks
1 User
Old 01/23/2019, 09:57   #3



 
cypher's Avatar
 
elite*gold: 600
The Black Market: 1061/0/0
Join Date: Sep 2008
Posts: 10,543
Received Thanks: 3,089
Quote:
Originally Posted by Zunft View Post
Na toll, jetzt wo ich gerade antworten wollte...
Hey, darfst mir gerne trotzdem antworten. Bin zwar gerade 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. Muss also nicht wirklich toll aussehen.

Hab zwar den Beitrag editiert, aber die Frage hieß es ungefähr so:
Womit komme ich schneller ans Ziel? Mit Swing oder JavaFX?
Könnt ihr mir auch bestimmte Resourcen empfehlen?
Anforderungen sind folgende:
- User soll per Eingabe Objekte erstellen können, die dann in Listen eingetragen werden
- 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
- Je nach dem welches Objekt der User wählt (Dropdown list), wird eine andere Liste angezeigt
- Es sollen auch Grafiken angezeigt werden, wie zB. ein Graph sowie ein Kreisdiagramm (diese hängen von den Listeneinträgen ab)
cypher is offline  
Old 01/23/2019, 10:31   #4
 
Zunft's Avatar
 
elite*gold: 0
Join Date: Mar 2013
Posts: 3,185
Received Thanks: 1,317
Quote:
Originally Posted by Cyphernomic View Post
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 View Post
- 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.
Zunft is offline  
Thanks
1 User
Reply

Tags
gui, java, javafx, swing


Similar Threads Similar Threads
[JavaFX]Verbesserungsvorschläge für Code
04/19/2018 - Java - 2 Replies
Ein herzliches Hallo an euch. Ich hätte eine bitte an diejenigen unter euch, die sich mit JavaFX auskennen. Und zwar haben wir in der Uni nun begonnen mit JavaFX zu arbeiten. Wir haben eine erste Übungsaufgabe bekommen die ich auch gemacht habe und alles funktioniert, wie es funktionieren soll. Jedoch bin ich mir ziemlich sicher, dass ich viel zu viele Umwege bis zum Ziel gegangen bin und mir das leben damit ziemlich schwer gemacht habe. Manchmal wusste ich intuitiv dass ich es viel zu...
JavaFX - kompilieren, aber wie?
09/24/2016 - Java - 7 Replies
Guten Abend liebe EPvP Community, seit heute beschäftige ich mit JavaFX, genaugenommen mit der GUI Programmierung. Jedoch muss ich gestehen, das ich es einfach nicht hinbekomme es zu kompilieren. Zum Testen wollte ich ein einfaches "Hello World" Programm, aus Google, kompilieren, jedoch erhalte ich Unmengen an Fehlern. Wie ich das behebe, das ich auch Sourcecode welcher JavaFX beinhaltet kompilieren kann ist mir bisher noch unklar. "Hello World" package helloworld; import...
JavaFX Listview Multiple Choice
09/25/2015 - Java - 5 Replies
Moin Jungs, Weiß jemand von euch wie man in JavaFx mehrere Items auswählen kann ohne Ctrl drücken zu müssen? Listview.setSelectionMode(Selectionmode.Multiple) funzt nicht. Lg



All times are GMT +1. The time now is 15:42.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.