swt oder awt?

C

Confused_Guest

Gast
Hallo,

ich habe jetzt mit swt ( und rcp) sowie mit awt bzw. Swing ein paar Erfahrungen gemacht, trotzdem weiß ich nicht so genau womit ich entwickeln soll.

Was mich an swt bzw. rcp sehr reizt, ist das flexible UI durch verschieben / vergrößern usw. der Viewparts...
diese Funktion fehlt mir gänzlich bei awt / swing.

Was mir aber aufgefallen ist: Das GUI Design selbst und auch das Eventhandling schien mir bei Swing alles etwas... "einfacher".
Auch die Arbeit mit Tabellen fand ich bei Swing um einiges angenehmer.

Jetzt stellt sich für mich die Frage: Womit bau ich ein zukunftsfähiges UI ? awt oder swt?

Kann ich die RCP Viewparts nutzen und darin sinnvoll swing-frames integrieren?

Wird Swing noch weiter entwickelt? Das neuste was ich dazu gefunden habe war aus dem Jahr 2009...

Womit bin ich auf dauer flexibler?
 

Asgar13

Bekanntes Mitglied
Nach meinen Wissens, wir AWT nicht mehr weiter entwickelt, dafür aber SWT und Swing.

Swing entstand aus AWT.
Und SWT entstand aus Swing.

Je nachdem wie das UI aussehen soll, würde ich zwischen SWT und Swing wählen.

Wenn du eine UI nach "Windows-standard" entwickeln willst, dann kannst du SWT nehmen, willst du aber ein UI mit z.B. Einstellbarer Scrollbalkenfarbe, würde ich dir ehr Swing ans Herz legen.

Hier ist eine ganze Liste, was du in Swing ändern kannst.
http://www.rgagnon.com/javadetails/JavaUIDefaults.txt

Kann ich die RCP Viewparts nutzen und darin sinnvoll swing-frames integrieren?

Ja

JUG Saxony ? Eclipse RCP/Swing AF/NetBeans RCP » Swing, Frameworks, EclipseRCP, Saxony, Projekte, Application, Dresden, Thema » Communardo Techblog
 
G

Gast2

Gast
Und SWT entstand aus Swing.

Was????:L

Was mich an swt bzw. rcp sehr reizt, ist das flexible UI durch verschieben / vergrößern usw. der Viewparts...
diese Funktion fehlt mir gänzlich bei awt / swing.

Grundsätzlich muss man bei Swing viel mehr externe libs einbinden als beim einem großen Framework wie RCP...
Bei Swing benötigst du ein DockingFramework(gibt es), ein Databinding (JGoodies) usw.
Das alles ist beim RCP dabei bei Swing musst du eine externe lib einbinden oder selber machen.

Was mir aber aufgefallen ist: Das GUI Design selbst und auch das Eventhandling schien mir bei Swing alles etwas... "einfacher".
Auch die Arbeit mit Tabellen fand ich bei Swing um einiges angenehmer.
Dann hast du damit nicht richtig gearbeitet schon, die JFace Viewer angeschaut? Damit ist es doch echt total easy zu arbeiten und viel dynmaischer als mit Swing.
Eclipse RCP
Kapitel 9/10

Kann ich die RCP Viewparts nutzen und darin sinnvoll swing-frames integrieren?

Wird Swing noch weiter entwickelt? Das neuste was ich dazu gefunden habe war aus dem Jahr 2009...

Du kannst den Eclipse RCP mit View Swing nehmen würde ich aber nicht machen. Total unnötig!!!

Außerdem bietet SWT/JFace imho die mächtigeren widgets.
 
Zuletzt bearbeitet von einem Moderator:
C

Confused_Guest

Gast
Es gibt also keinen wirklichen Grund >gegen< Swing?

Databinding scheint ja auch zu gehen.
 
C

Confused_Guest

Gast
wie schaut es mit netbeans rcp vs. eclipse rcp aus?
also was mächtigkeit angeht... ?
 

TheDarkRose

Gesperrter Benutzer
Eclipse RCP basiert auf SWT. Dort kannst du weiterhin (soweit ich weiß) auch das komplette Pluginsystem nutzen, bzw. deine eigene Anwendung auch als Plugin in ein anderes Eclipse Paket einbinden.
Netbeans RCP arbeitet nur mit Swing, weiß aber nicht ob das mit den Pluginverhalten wie in Eclipse RCP auch so funktioniert.
 
G

Gast2

Gast
Netbeans RCP arbeitet nur mit Swing, weiß aber nicht ob das mit den Pluginverhalten wie in Eclipse RCP auch so funktioniert.

Wie gesagt Eclipse RCP basiert auf osgi, Netbeans RCP eben nicht.

Eclipse RCP benutzt als GUI SWT/Face kein reines SWT und man kann wie gesagt auch Swing benutzen(noch nie getestet). Darum basiert Eclipse RCP nicht auf SWT. In Eclipse e4 kannst glaub sogar QT nehmen.
 

Asgar13

Bekanntes Mitglied
Hast recht, SWT wurde erschaffen um gegen Swing anzustinken :lol:
Bloß woraus?

Introduction to SWT

The Standard Widget Toolkit (SWT) is a graphical widget toolkit for the Java programming language. It was originally developed by IBM. It is an alternative to the Java Swing GUI toolkit provided by Sun Microsystems, which is a part of the Java Platform, Standard Edition. SWT is written in Java. It uses the native GUI APIs like Winapi, GTK+ to create its widgets via the JNI.

Swing <-> SWT


Hier noch etwas zum Thema zu lesen:

Swing and SWT: A Tale of Two Java GUI Libraries - Developer.com
 
G

Gast2

Gast
Ja, sie wollten nämlich Sun eins auszuwischen ;)

Eclipse = Sonnenfisternis und so...

ja so gesehen :D... aber ich denke eher dass sie mit Swing unzufrieden waren und es einfach schlecht fanden ;)...

Databinding gibt es übrigens auch in SWT/JFace, imho sogar besseres (inkl. Context) als in Swing.

Hab nix anderes behauptet ;). Mit EMF gibt es sogar gleich undo/redo umsonst dazu.
 
M

maki

Gast
ja so gesehen :D... aber ich denke eher dass sie mit Swing unzufrieden waren und es einfach schlecht fanden ;)...
"Die großen 3" (IBM, Sun, Oracle) bekämpfen sich schon seit Jahrzehnten, nicht umsonst war in Abschiedsbrief vom ehem. Sun Chef die Mitteilung "Beat IBM" versteckt: Sun CEO's internal memo: Beat IBM | Business Tech - CNET News

Abgehesen davon hatte Swing damals wirklich Probleme, angfangen beid er Performace bis hin zum Design. Mitterweile ist Swing wieder schneller als SWT...

Hab nix anderes behauptet ;). Mit EMF gibt es sogar gleich undo/redo umsonst dazu.
Confused_Guest hatte Databinding als Vorteil für Swing genannt.
 
G

Gast2

Gast
"Die großen 3" (IBM, Sun, Oracle) bekämpfen sich schon seit Jahrzehnten, nicht umsonst war in Abschiedsbrief vom ehem. Sun Chef die Mitteilung "Beat IBM" versteckt: Sun CEO's internal memo: Beat IBM | Business Tech - CNET News

Abgehesen davon hatte Swing damals wirklich Probleme, angfangen beid er Performace bis hin zum Design. Mitterweile ist Swing wieder schneller als SWT...
.

Ja schon klar dass sie sich bekämpfen, aber ich denke es hatte schon mehr Gründe SWT zu entwicklen und ich finde persönlich SWT/JFace angenehmer zu entwicklen.

Confused_Guest hatte Databinding als Vorteil für Swing genannt.

Aso ok ^^
 

Wildcard

Top Contributor
Ein paar Punkte (persönliche Meinung):
Swing
-besser Skinnable
-flexiblere Widgets
-selbst Zeichnen ist einfacher

SWT/JFace
-sieht besser aus
-mehr widgets
-bessere Widgets
-JFace Tree- und TableViewer sind deutlich besser als JTree und JTable
-besseres Databinding
-besseres Threading Modell

Ich würde mittlerweile fast jede Art von Desktop Applikation als Eclipse RCP umsetzen weil es unglaublich viel bietet und es die modulare Architektur einfach macht die Anwendung flexibel und erweiterbar zu halten, aber Geschmäcker sind verschieden.
 

Pantoi

Aktives Mitglied
Fazit also: Swing flexibler, RCP schöner schneller neuer?

Ich habe ja auch versucht mich in Eclipse RCP zurechtzufinden und bin auf den Schluss gekommen, das alles toll ist, solange man nicht zeichnen will. Und wenn man dann draw2d zeichnen lässt, ist Drag and Drop mit den draw2d Komponenten (Figuren) sehr ruckelnd. So am Rande: Hat zu letzterem jmd ne Idee ?
 
G

Gast2

Gast
Fazit also: Swing flexibler, RCP schöner schneller neuer?

RCP ist ein ganzes Framework mit einer modularen Architektur das bietet dir viel mehr als Swing.
Du kannst RCP auch mit Swing verwenden!!!

Ich habe ja auch versucht mich in Eclipse RCP zurechtzufinden und bin auf den Schluss gekommen, das alles toll ist, solange man nicht zeichnen will. Und wenn man dann draw2d zeichnen lässt, ist Drag and Drop mit den draw2d Komponenten (Figuren) sehr ruckelnd. So am Rande: Hat zu letzterem jmd ne Idee ?

Fr das zeichnen gibts es schon einige mehr Plugins. Und so ganze ohne Code oder Beispiel kann keiner erraten warum es bei dir ruckelt.
 

Neue Themen


Oben