Modernes GUI Framework in JAVA vergleicbar mit WPF/Qt

Letzteres geht mal wieder in Richtung Swogl - und nein, trotz der 2 Jahre alten "News" ist das Projekt nicht tot. Genaugenommen könnte "bald" Version 0.2 rauskommen 😉
 
Das sieht schon sehr cool aus 🙂

JavaFX ist nur für RIAs also kann ich keine Desktop Anwendungen erstellen die auf das Dateisystem zugreifen?
 
Wenns dir um 3D GUIs geht... Versuch mal "Nifty!"... Ist IMHO das beste 3D GUI...

@Marco13: Wie du weißt, bin ich ein Fan von Swogl! Swogl ist und bleibt ne richtig gute Idee!

Leider ist Swing nicht so richtig hübsch... Es gibt keine Animationen und Fade-Effekte und man kann auch nicht mal eben das L&F für seinen Zweck anpassen... Nifty ist vollständig durch XML konfigurierbar und es gibt Bindings für JOGL/LWJGL und wird benutzt von jME3, Ardor3D, Slick. Ich persönlich finde, dass eine Nicht-3D-Anwendung, keine Schnickschnack GUI braucht... 3D Anwendungen hingegen, sollten schon alles ausschöpfen was möglich ist bei der grafischen Darstellung, vorallem, weil dort durch Hardwarebeschleunigung sehr viel möglich ist 😉

Und nur am Rande:
JavaFX ist recht lahm... Diese übschen GUIs bei JavaFX lasten ganz schön die CPU aus, da es eben nicht hardwarebeschleunigt ist...

Du musst dich einfach entscheiden... Simple Desktopanwendung -> Swing, OpenGL 3D Anwendung -> Nifty, Swogl oder ähnliche Frameworks...

Gruß,

Chris
 
Es geht nicht ausschließlich um Animationen sondern ein vergleicbares Framework zu WPF oder Qt.

"Rich UI Framework" 😉

Scheinbar gibt es hier und da etwas aber keine Lösung "aus einer Hand". Liege ich da richtig?
 
Es gibt schon ein paar sehr verbreitete (Swing, SWT, etc.pp), allerdings bieten die nicht die optisch ansprechenden Möglichkeiten die du wohl suchst.

Das ist ein Grund dafür, dass Java auf dem Desktop eher für "proffessionelle" Anwendungen verbreitet ist, bei denen weniger auf Styling und die Animation der Widgets geachtet wird 😉
 
"Rich" ist schon ein Stichwort das passt: Sowas wie Filthy Rich Clients ist einen Blick wert. Auch sowas wie Swinglabs — Java.net (swinglabs.org scheint gerade down zu sein). Aber EIN "One rules all"-GUI-(und mehr)-Framework a la Qt gibt's in Java AFAIK nicht. Wobei ich mir nicht sicher bin, inwieweit die GUI-Möglichkeiten (im Sinne von "Rich" Components) bei Qt so deutlich über Swing hinausgehen (bin da nicht auf dem neuesten Stand). Qt ist halt auch viel mehr als nur ein reines GUI-Framework.

@Kr0e: Nifty kannte ich noch nicht. Sieht ja ganz ... nifty aus 😀 Soweit ich das sehe ist es komplett 2D, und rein "inhaltlich" nichts, was man nicht (mit einigem Aufwand...) auch in reinem Swing machen könnte, aber die Beschreibung per XML und die dichte Integration in LWJGL könnte praktisch sein. BTW: Eines der Hauptziele beim aktuellen Refactoring von Swogl ist es, beliebige Renderer zu unterstützen (d.h. auch LWJGL), und es leichter in bestehende Anwendungen integrierbar zu machen. Letztendlich ist und bleibt Swogl zwar ein riesen-Fake, aber vielleicht wird es dadurch doch allgemeiner einsetzbar. (Ich dachte auch schon an eine Integration in MT4j, aber speziell in bezug auf eine Abstraktion der Interaktion und der Layouts ist noch etliches zu tun, was vermutlich nicht in die 0.2er-Version schaffen wird)
 
BTW: Eines der Hauptziele beim aktuellen Refactoring von Swogl ist es, beliebige Renderer zu unterstützen (d.h. auch LWJGL), und es leichter in bestehende Anwendungen integrierbar zu machen.


Das wäre so endgeil 😀 Mich persönlich stört es nämlich nicht, das Swing etwas langweilig ist...

Kurz nochmal zu nifty:
Du meintest, es wäre grundsätzlich nichts, was man nicht auch mit Swing machen könnte... Nun es stimmt schon.. Es ist eine 2D GUI, aber mir ist nicht ganz klar, wie man dowa smit Swing machen kann ? Also z.B. diese Gloweffekte, wenn man mit der Maus drüber geht... Also ich meine... Nifty ist halt genau für solche schicken Menüs ausgelegt, was es sehr einfach macht, das ganze zu bedienen!

ABER:
Swogl ist cool, weil man eben mit dem Matisse GUI Builder z.B. Menüs basteln kann und diese dann hinterher rendern..

gruß,

Chris
 
@Sonecc: Ja, Qt Jambi | Qt Jambi is the Qt library made available to Java - das war lange eher so "halbgar-inoffiziel-betamäßig", aber anscheinend haben sie das jetzt "reaktiviert", es gibt einen Blog mit news (und die sind sogar ziemlich new 😀). Muss ich mir auch mal (wieder) näher ansehen...

@Kr0e: Grundsätzlich funktioniert das schon mit JOGL und LWJGL, aber bei letzterem hab' ich es bisher nur mit dem AWTGLCanvas getestet - dieses Display-Ding und die Input-Verarbeitung bei LWJGL sind mir irgendwie noch suspekt und fremd... BTW: Kann sein dass ich bald Beta-Tester brauche 🙂 Aber dann werde ich einen Thread dafür aufmachen, ich werd' den hier jetzt nicht mehr so sehr mit Swogl hijacken... 😳

EDIT: Aber zu nifty: Klar ist das aufwändig, wenn man das "from scratch" mit Swing machen wollte. Es gibt auf den verlinkten Seiten (Filthy Rich Clients und SwingLabs) schon viele Demos/Components, wo solche Effekte wie Animation (mit dem Timingframework) und ähnliche Dinge wie das "Glow" drin sind, aber eben leider nicht alles "aus einem Guß". Schade eigentlich: Das ganze zu einen schicken Framework kombiniert könnte Swing und Java Auftrieb verleihen.
 
Zuletzt bearbeitet:
Es gibt schon ein paar sehr verbreitete (Swing, SWT, etc.pp), allerdings bieten die nicht die optisch ansprechenden Möglichkeiten die du wohl suchst.

Das ist ein Grund dafür, dass Java auf dem Desktop eher für "proffessionelle" Anwendungen verbreitet ist, bei denen weniger auf Styling und die Animation der Widgets geachtet wird 😉


Haha es gibt auch Unternehmen die bereit sind vom SAP Style und WinForms Style abzuweichen und wirklich schöne und auch benutzerfreundliche Anwendungen möchten... ;-)

Wenn die heutigen Frameworks alle auf dem Stand von Swing wären ohje... die armen User.
 
Welche User meinst du ? Die 0815 User , die Hilfe schreien, wenn ihr Explorer Fenster weg ist ? 😀

Oder meinst du iwelche Designerfirmen, die sich alle schrecklich toll finden, weil sie Appleprodukte benutzen ?

Die meisten Firmen die ich in meiner (wenn auch noch nich allzu langen) Laufbahn kennengelernt habe, benutzen WinXP oder gar Win2000 mit grauen und langweiligen Interfaces.....

Du musst immer die zielgruppe im auge haben! Für Spiele sind außergewöhnlich schicke UIs natürlich ein MUSS! aber für Büroanwendungen.... Naja...
 
Um das hier zu einem gewissen Ende zu bringen...

Nein: Es gibt sowas noch nicht in Java. Technisch gesehen kann man das aber ohne Frage mit Java realisieren.

Es gibt Ansätze wie Nifty z.B. die dir ermöglichen, hübsche und animierte GUIs zu erzeugen, allerdings sind die meisten davon
noch in der Entwicklungsphase.



Normalerweise wird eben mit Windows gearbeitet, also würde es für viele Firmen keinen Sinn machen, solche Sachen in Java zu entwickeln, wodurch die meistens professionellen Lösungen für Windows sind (.NET + C#).

Davon abgesehen... Wie Marco13 eben schon gesagt hat, ist mit Swing auch viel möglich...
Es gibt viele (davon ein paar auch kommerzielle!!) Swing L&Fs, die sich nich hinter deinem Link verstecken müssen...

Du musst halt etwas Elan mitbringen... Dafür läufts dann aber überall und nicht auf einem Windowsrechner 😉
 
Das ist schade das es noch kein modernes "all-in-one" ui framework gibt.

Warum geht die SwingX Site nicht mehr? Ist das Projekt tot?
 
Also SwingX ist für mich kein Framework, sondern eine Sammlung von Swing-Komponenten, die man mit jedem beliebigen Framework oder auch standalone einsetzen kann. Ein Framework ist eher sowas wie Eclipse RCP oder die Netbeans Platform, wo also ein einheitliches Programmiermodell und bestimmte Konzepte dahinter stehen. Gutes Aussehen ist nicht der Job eines Frameworks, sondern wartbarer Code und hohe Produktivität.

Vielleicht solltest Du also eher nach Komponentenbibliotheken und L&Fs suchen? Dann kannst Du auch mehrere davon kombinieren und zusätzlich ein Framework verwenden, um die ganzen Bausteine zu integrieren. Je nach Art Deiner Anwendung könnte z. B. die Netbeans VisualLibrary etwas für Dich sein.

Ulrich
 
Also SwingX ist für mich kein Framework, sondern eine Sammlung von Swing-Komponenten, die man mit jedem beliebigen Framework oder auch standalone einsetzen kann. Ein Framework ist eher sowas wie Eclipse RCP oder die Netbeans Platform, wo also ein einheitliches Programmiermodell und bestimmte Konzepte dahinter stehen.

Das wurde hier schon sehr oft diskusstiert und es gibt unterschiedliche Meinungen dazu 😉
 

Zurück
Oben