Warum benutzen die meisten swing ...und nicht javafx?

ok finanziell war vielleicht ein bisschen falsch ausgedrückt.
Aber es macht garantiert keiner einfach so irgendwas, “nur um anderen etwas zu vereinfachen”, das ist dir vllt schon klar ^^

Klar?! Wenn ich was entwickelt habe und es anderen nuetzen koennte, dann wuerde ich mir denken “Da kannst du es direkt hochladen, dann muessen andere das Rad nicht neu erfinden”.

[QUOTE=mymaksimus]ok finanziell war vielleicht ein bisschen falsch ausgedrückt.
Aber es macht garantiert keiner einfach so irgendwas, “nur um anderen etwas zu vereinfachen”, das ist dir vllt schon klar ^^[/QUOTE]

Klar genau so funktioniert das Eclipse Ökosystem…

CSS vs einfach Methoden Aufrufe gibt es jede Menge Vor und Nachteile.

  1. CSS ist viel mächtiger,weil deine UI wird nicht besser aussehen nur mir einem setColor aufruf. Meistens will man ja noch viel mehr wie Farbverläufe und sonstiges.
  2. CSS kann ein Designer machen
  3. Mit einem gescheiten Tooling bekommt man die Keys ansonsten definiert man meisten eh eigene…
  4. Ganz ehrlich ein gescheites L&F in Swing zu machen ist nicht gerade wenig arbeit und das ist alles programmatisch und sehr umständlich und auch kompliziert…

Da stimme ich SirWayne zu. Die Trennung von UI und Code ist mit JavaFX viel besser. Alleine die Möglichkeit, dass man einen Designer am Aussehen der GUI getrennt vom Code werken lassen kann ist ein Vorteil. Weil was macht man mit Swing? Klar man kann eine eigene UI schreiben, viel öfter kriegt man aber so hingehackte, grün-schwarze Filechooser GUIs zu sehen.

css ist cool…und wie ihr sagt, das Design kann dann der Designer machen…wichtig sind die Funktionen, danach kann man sich ja um Design kümmern. (wie bei HTML…PHP :slight_smile: )

Übrigens für dich groogy alle CSS Klassen in JavaFX
http://docs.oracle.com/cd/E17802_01/javafx/javafx/1.3/docs/api/javafx.scene/doc-files/cssref.html

Mir stellt sich die Frage ob ein GUI-Framework überhaupt dazugehört. Egal ob AWT, Swing oder JavaFX.

Das es ein GUI-Framework geben soll dass man von Java aus verwenden kann ist klar. Das es nahezu unmöglich ist die GUI-Frameworks aus Java zu entfernen ist auch klar.

Ich könnte mir so einen Ansatz wie bei SWT gut vorstellen, dass ganze als lib beizusteuern.

In den vergangenen Jahren hat sich bezgl. GUI einiges getan. Können hier die enthaltenen GUI-Frameworks mithalten? Ich meine Nein. Groß ändern kann man daran aber nichts.

An anderer Stelle war schon viel, teils auch berechtigtes Gemecker an Swing. An manchen Stellen fehlen passende Interface. Andere wünschen sich eine Fluent-Api. Wäre Swing eine externe Resource, dann hätte man hier weitaus mehr Handlungsmöglichkeiten.

Und so ganz aus der Welt gegriffen finde ich das ganze nichtmal. Viele Scriptsprachen bringen keine GUI mit, sondern bieten Wrapper für Win, Qt oder GTK an. Und genauso wie die Oberflächen über die Jahre entwickeln sich auch die GUI Frameworks an die aktuellen Gegebenheiten weiter.

Dann gibt es halt einmal einen Versionssprung und man hat neue Möglichkeiten, während man bei Java aus Gründen der Abwärtskompatibilität an veralteten Paradigmen festhalten muss.

Versteh ich nicht…

Interessant, warum man JavaFX benutzen sollte und warum swing kein muss ist…

@SirWayne warum hat Google bei Android nicht einfach Swing verwendet?

**SceneBuilder 2 ist auch nun raus… :slight_smile: **(da tut sich doch etwas… :wink: )

http://www.oracle.com/technetwork/java/javafx/downloads/devpreview-1429449.html

Kann jede Menge Gründe haben…
-Swing ist uralt und nicht ressourcen sparend…
-Swing sieht auch alt aus…
-Lizenzen?
-Swing ist nicht touchfähig?
-Vielleicht lag es am lifecycle?

Warum hat Andorid eine eigene Klassenbiblothek entwickelt?

[QUOTE=Unregistered]**SceneBuilder 2 ist auch nun raus… :slight_smile: **(da tut sich doch etwas… :wink: )

http://www.oracle.com/technetwork/java/javafx/downloads/devpreview-1429449.html[/QUOTE]

Danke das du Bescheid sagst :smiley:

Zum Thema SWT:
Die Idee ein neues GUI-Framework als lib zu exportieren finde ich wirklich gut. Wenn ich persoenlich aber SWT in einem Projekt nutze, dann wuerde ich eher direkt auf eine e4 Applikation setzen.

[QUOTE=groggy]
Die Idee ein neues GUI-Framework als lib zu exportieren finde ich wirklich gut.[/QUOTE]

Versteh nicht was ihr damit sagen wollt?

[QUOTE=groggy;74045]
Wenn ich persoenlich aber SWT in einem Projekt nutze, dann wuerde ich eher direkt auf eine e4 Applikation setzen.[/QUOTE]
Mit e4 kann man mehr nutzen als nur SWT. Es gibt e4 mit JavaFX. Es gibt e4 mit Swing. Es gibt sogar schon e4 mit vaadin und bald bestimmt auch mit RAP…

[QUOTE=SirWayne]
Mit e4 kann man mehr nutzen als nur SWT. Es gibt e4 mit JavaFX. Es gibt e4 mit Swing. Es gibt sogar schon e4 mit vaadin und bald bestimmt auch mit RAP…[/QUOTE]

E4it JavaFX waere fuer den TO eihentlich mehr als nur interessant…

Das neue E4 kann für viele interessant nicht für SWT/JFace Anwendung , sonder eben gerade für JavaFX. Zusammen mit EMF sehr interessant, weil es dafür jetzt auch Databinding gibt.

PS: Wie gesagt kann das Eclipse ECP Projekt zusammen mit E4 und JavaFX nur empfehlen. Damit kann man fast eine JavaFX-Anwendung machen ohne eine Zeile zu schreiben…

PPS: Für ECP kommt der JavaFX-Renderer erst nächstes Jahr raus, solange muss man sich mit SWT/JFace begnügen, aber sobald dieser zur Verfügung ist, kann man den Renderer einfach kurz austauschen.

o man…was zum Teufel ist e4? :lol:

Mal zum Nachschlagen:
https://www.google.de/url?sa=t&source=web&rct=j&ei=mbJ-UuifDZHTsgb2tIDIDg&url=http://www.vogella.com/articles/EclipseRCP/&cd=5&ved=0CDQQFjAE&usg=AFQjCNEhkk47lFeuY92e1qlRjd4bAkiRww
http://www.eclipse.org/modeling/emf/
http://www.vogella.com/articles/EclipseEMF/article.html

Also e4 ist das Framework auf dem Eclipse basiert und aufbaut. Zusammen mit den EMF(Eclipse Modeling Framework) ermoeglicht es einem Applikationen zu schreiben ohne viel dafuer zu tun. Der Trick dabei ist, dass man nicht mit den reinen Komponenten arbeitet, sondern man mit sogenannten Model Classes arbeitet. Diese Modellieren zB ein Window. Das heisst man packt in diese ModelKlasse alle Infos wie die Groesse und die Position und das Framework erstellt dann den Rest fuer dich. Darum heisst das Ding auch Modeling Framework. Alles was du machst(eigene Menues und Buttons und alles drum und dran wird in einer .e4xmi Datei abgespeichert(eigentlich xml).

Du modelierst also das UI. Nun hat sich das Team was schickes ausgedacht:
Sie haben diese Technologie nicht auf SWT basiert gebaut, sondern Renderer Klassen erstellt, die dafuer verantwortlich sind, das UI zu rendern. Somit ist es moeglich das GUI Framework auszutauschen. Man muss nur eine eigene RenderingEngine schreiben. Mittlerweile gibt es welche fuer JavaFX(Stichwort e(fx)clipse). Diese erlauben es dir RCP(Rich Client Platform) Anwendungen komplett in JavaFX zu schreiben. Das ganze wird auch mit dem Eclipse Plugin System ausgeliefert(Equinox, deren Implementierung vom OSGI Standard, wobei sie auch noch das Extension-Point Extension Prinzip unterstuetzen.). Vielleicht habe ich ja dein Interesse dazu erweckt ;D

Glaub mir, es lohnt sich damit zu arbeiten! Es erspart einem verdammt viel Arbeit.

Oder kurz:
http://www.vogella.com/articles/EclipseRCP/article.html

[QUOTE=SirWayne]Oder kurz:
http://www.vogella.com/articles/EclipseRCP/article.html[/QUOTE]

Ich hatte gerade ne kreative Ader ;D