Java Welches GUI?

SparkMonkay

Commander
Registriert
Feb. 2013
Beiträge
2.337
Moinsen,

nachdem wir in der UNI nun mit JAVA durch sind, ich jedoch zugeben muss, dass mir die Syntax gefällt und ich die Sprache soweit eigentlich recht gut beherrsche, wollte ich weiter gehen und von den uns gegebenen Bibliotheken wie Draw usw. entfernen, die Teile sind nett, Turtle hat auch Spass gemacht, aber für größere Sachen ist so etwas nicht gemacht.

Ich möchte wissen, was lohnt sich aktuell zu lernen?
Gerade habe ich das Ziel das ein oder andere Spiel zu schreiben um etwas zu üben oder was auch immer.

Mit etwas Google bin ich zu diesem Thread auch Stackoverflow gekommen.
Eine schöne auflistung der GUI frameworks vor 3 Jahren.
Welche ist am besten für meine Zwecke? Welches soll ich lernen?
Denn auf Wikipedia gibt es ebenfalls diese Frameworks gelistet.

Ich sehe manche Tutorials, da erstellen die Menschen Appletes und andere benutzen Swing....

Was den jetzt?
Danke für Hilfreiche antworten! :)
 
In dem Link steht dass es das "Flagschiff" von Oracle sei.
Somit ist es das von Haus aus beste?

//EDIT: In betracht habe ich es schon gezogen.
 
Die meisten Tuts und Code Bsp. findest du bei Swing, dem jahrelangen Vorgänger von FX. FX ist seit Java 8.0 aber fester Bestandteil von Java. Persönlich würde ich mit FX anfangen.

Gerade mit dem Scene Builder , meine persönliche Einschätzung, lässt sich eine GUI viel leichter und schneller erstellen. Gerade das Trennen zwischen der View und dem Controll lässt sich einfacher gestalten.
 
Man kann auch mit SWING noch swingen :)
Ich hab mir damals ein paar libs dafür geschrieben, um z.b. einen Windows AERO Effekt nachzustellen (hat soweit wunderbar funktioniert).
Mit ein bisschen Aufwand kannst du GUI-technisch so ziemlich alles in Swing darstellen.

mfg,
Max
 
2:0 für FX die Entscheidung ist denke ich somit gefallen.

Danke euch :)
 
SparkMonkay schrieb:
In dem Link steht dass es das "Flagschiff" von Oracle sei.
Somit ist es das von Haus aus beste?

Das kommt auf Deine Anforderungen an. Sollen die Anwendungen z.B. ohne großen Aufwand möglichst nativ ausehen, ist JavaFX nicht das Mittel der Wahl. Es gibt zwar bereits Projekte mit nativen Skins, aber damit hängt man zum einen aktuell wieder hinterher, und damit ist auch nicht jedes gängige OS abgedeckt. Mit Swing wäre die Situation in dieser Hinsicht so viel besser allerdings auch nicht. Zum Glück gibt es SWT, wenn sich die Anwendung möglichst gut integrieren soll (wobei auch dort manches fehlt).

JavaFX ist aber sicherlich das modernste Toolkit, will man GUIs mit Java umsetzen. Auf Swing würde ich heutzutage für eine Neu-Entwicklung nicht mehr setzen. Eher würde ich fragen, lohnt es sich überhaupt noch auf Java zu setzen?
 
Darum bin ich auch am Rätseln...
 
Hades85 schrieb:
Und warum soll man deiner Meinung nicht mehr auf Java setzen?

Meine Aussage bezog sich nicht generell auf Java (ich verdiene hauptsächlich damit mein Geld :D), sondern auf Java für die GUI und da sehe ich den Trend eher Richtung Web-Techniken gehen.
 
soares schrieb:
Meine Aussage bezog sich nicht generell auf Java (ich verdiene hauptsächlich damit mein Geld :D), sondern auf Java für die GUI und da sehe ich den Trend eher Richtung Web-Techniken gehen.

Zum Lernen ist Java GUI-Programmierung meines Erachtens bestens gegeignet die Objektorientierung nicht nur zu verstehen sondern auch anzuwenden. Also ich habe in 8Wochen Swing Programmierung mehr verstanden als in 5Monaten OO-Vorlesungen.

Ob es Java sein muss für GUI oder C#/C++ ist eigentlich egal.

Und unter Swing empfand ich meine Anwendungen immer ganz hübsch, wenn man das richtige Look&Feeling Design gefunden hatte. Und JavaFX Look ist sehr nah am nativen Look eines Win8. Aber selbst wenn ein Programm nicht nativ aussieht, schmälert dass sein Nutzen?

Und will Oracle mit JavaFX nicht auch wieder in den Web-Client bereich eintreten?
 
Hades85 schrieb:
Zum Lernen ist Java GUI-Programmierung meines Erachtens bestens gegeignet die Objektorientierung nicht nur zu verstehen sondern auch anzuwenden. Also ich habe in 8Wochen Swing Programmierung mehr verstanden als in 5Monaten OO-Vorlesungen.

Nicht unbedingt das beste Argument für GUI-Programmierung. Der Lerneffekt wäre auch in anderen Bereichen erzielt worden. Ist aber natürlich motivierend, wenn man Pixel über den Bildschirm jagen kann :D


Hades85 schrieb:
Ob es Java sein muss für GUI oder C#/C++ ist eigentlich egal.

Wenn ich mir überlege, was mir in Zukunft den größten Nutzen bringt, würde ich nicht sagen, dass es egal ist. Wobei es natürlich immer nützlich ist, etwas zu lernen. Und sei es nur dafür, zu lernen wie das mit dem Lernen geht. JavaFX ist aber sicherlich eine interessante, moderne Technologie, die auch auf den mit Swing gemachten Erfahrungen aufbaut.


Hades85 schrieb:
Und unter Swing empfand ich meine Anwendungen immer ganz hübsch, wenn man das richtige Look&Feeling Design gefunden hatte.

Swing war damals seiner Zeit voraus. Man kann damit unheimlich viel machen und natürlich auch hübsche Anwendungen gestalten. Die mitgelieferten Look & Feels waren bzw. sind halt nicht wirklich hitverdächtig und eine graphische Anpassung macht durchaus Arbeit, mitunter selbst mit 3rd Look & Feels, wobei das für den Anfang sicher weniger relevant ist.


Hades85 schrieb:
Und JavaFX Look ist sehr nah am nativen Look eines Win8.

Findest Du? Ich erkenne eher eine Mischung zwischen Aqua und Adwaita, aber wenigstens schaut das ganze nett aus und lässt sich mittels CSS (ah, schon wieder was Web-mäßiges) auch recht einfach anpassen.


Hades85 schrieb:
Aber selbst wenn ein Programm nicht nativ aussieht, schmälert dass sein Nutzen?

Nicht zwingend, es kann für Nutzer allerdings durchaus relevant sein, ob eine Anwendung sich nahtlos in das System einpasst oder nicht. Geht es nur ums Lernen, ist das nicht relevant und in Zukunft wird der Wildwuchs wohl nur noch zunehmen, mir persönlich gefällt auf dem Desktop Uniformität.


Hades85 schrieb:
Und will Oracle mit JavaFX nicht auch wieder in den Web-Client bereich eintreten?

Womit wir uns wieder Richtung Web bewegen...
 
@TE

Wie hier bereits angesprochen, C# wär noch ne Alternative.
WPF oder Forms, hier hast du GUI-technisch die meisten Möglichkeiten.

mfg,
Max
 
Ich bin unter Ubuntu/Linux unterwegs und es wird vorraussichtlich bei mir in näherer Zukunft kein Windows kommen, einfach weil ich zZ mir Ubuntu zufrieden bin vll sogar Kubuntu.

Aber die Idee ist nett, wenn der Desktop da ist wäre C# eine Idee ;)

//Edit, ich weiß nicht was in mich gekommen ist, aber Windows kommt gleich drauf, erstelle grade den USB Stick für...
Vielleicht ist es der Wille C# zu testen und weil Java auch unter Windows läuft?
 
Zuletzt bearbeitet:
Schon was gemacht? Irgendwie zieht sich das hier ...

Java:
- Form/Panel - borderless.
- Override Draw - mach mal paar simple Metro rahmen, sprich zeichne einfach 2-3px rahmen ...
- Implementier ne Resize Methode
- Implementier Schatten! (Achtung, dangerous @linux ;)) Habe das damals mit PNGs denkbar kompliziert umgesetzt.
- Blur Effekt
- Eigene Controlls (Buttons/Checkboxes kannst du generell durch einfache Grafiken tauschen ...)

mfg,
Max
 
Da empfehle ich dir Bücher zu Computergrafik mit Java.
Aber Achtung, Spiele entwickeln ist mitunter der schwierigste Teil eines Studiums !

Wir mussten in C und OpenGL ganze animierte Szenen inklusive Shader bauen, allein durch Code und Koordinaten, ganz ohne grafische Tools. Ich kann dir sagen dass dieses Modul so einigen ihr Studium beendet hat.

Java an sich ist für Games ungeeignet, da nimmt man eher sowas wie Unity und C++ aber:
http://www.brackeen.com/javagamebook/
 
Zuletzt bearbeitet:
ich habe nächstes semester mein Programmierpraktikum, da wird etwas kleines gemacht. ;)
 
Computergrafik war bei uns auch "nur" ein Praktikum, mit einem Zeitaufwand von 20 Wochenstunden für 5 CP (von 30). Zusätzlich kamen Papierübungen und Zwischentests dran, die nicht viel mit den Übungen zu tun hatten.
Da war man einfach happy überhaupt bestanden zu haben ;)

Ist zwar Bachelor, also meist eher überladen als unterladen, aber naja...
Immerhin scheinst du zu den Exemplaren zu gehören die sich um sowas kümmern. Die meisten haben nur das absolute Minimum geschafft, falls überhaupt.
 
Zuletzt bearbeitet:
ja, dieses Semseter ist wegen Ana und LA hart gewesen, nächstes Semster kommt ANA 2, dafür darf ich C und Java Programmieren. :)
 
LA = Lineare Algebra ? Freu dich auf Computergrafik, das wirst dort brauchen ;)
Programmieren ist später eher Nebensache.
 
Zurück
Oben