AWT Swing oder doch SWT



  • Hallo erst mal !

    Bin relativ neu bei Java und würde mich gerne der Grafik Programmierung
    zuwenden. Hat jemand Erfahrung mit diesen 3 Teilen und was wäre das beste.

    mfg
    Debian



  • Kein AWT.

    Swing oder SWT (letzteres kenne ich nicht)



  • Hallo,

    das AWT war das erste, mit dem man GUIs in Java schreiben konnte, das ist alles schon seit 1.0 dabei (Swing kam erst 1.3), d.h. du hast fette Kompatibilität, ABER: AWT kann leider viel viel weniger als Swing oder SWT. AWT wird auch nicht wirklich weiterentwickelt, jedenfalls nicht so, als dass es auf einmal einen Sprung nach vorne machen würde. Also eher Finger weg.

    Swing war lange ne ziemlich langsame Geschichte, aber das hat sich spätestens mit Java 1.5 gelegt, die Performance ist gut. In Java 1.6 wird sie nochmals verbessert sein. Swing kann man leicht im Look & Feel anpassen, es hat einen sehr guten Aufbau, ist fantastisch zu programmieren (*neid*) und ich finde dass es auch schick aussieht. Abgesehen davon ist es 100% Java und läuft überall dort, wo auch Java selber läuft.

    Damit wären wir bei SWT, was leider nicht überall läuft, wo auch Java läuft. IBM hat halt nur an bestimmte OS gedacht. Unter Windows und Linux läufts. Es ist zwar flotter als Swing (SWT benutzt native Controls, Swing zeichnet selber), aber nicht so schön im Design und in der Handhabe.

    Swing ist imo *die* GUI Library für Java. Spiel einfach mal mit den mitgelieferten Demos rum, dann siehst du, was du damit alles anstellen kannst.

    MfG

    GPC



  • Sag ich doch!

    ( 🕶 )



  • man kann auch swing und awt mischen (dazu steht im sdn irgendwo ein artikel).



  • Genau das sollte man nicht tun:

    http://www.java-forum.org/de/viewtopic.php?t=5113



  • Javaner schrieb:

    Genau das sollte man nicht tun:
    http://www.java-forum.org/de/viewtopic.php?t=5113

    ich hab's jetzt extra für dich rausgesucht:
    http://java.sun.com/products/jfc/tsc/articles/mixing/
    😡
    edit: der link ist ja auch auf dieser forenseite...



  • Nun, net hat natürlich recht. Es ist möglich, es zu mischen. Und hey, es "funktioniert" auch. Dennoch:

    A significant benefit of such layering is that it greatly facilitates porting AWT-component programs to Swing. In fact, because both the AWT and Swing component sets use the same AWT infrastructure, it's possible to mix both kinds of components in the same program -- a technique that allows for phased migration of applications.

    Unter dem Aspekt der Migration also kann das durchaus nützlich sein, wenn man Stück für Stück auf Swing umstellt. Für Neuentwicklungen jedoch würde ich es eher ablehnen, außer man kann einen *wirklich* guten Grund anführen.

    MfG



  • net schrieb:

    ich hab's jetzt extra für dich rausgesucht:
    http://java.sun.com/products/jfc/tsc/articles/mixing/

    Mir war immer nur das Gegenteil bekannt, aber wenn der Artikel
    sogar von Amy Fowler selbst geschrieben ist... 😮

    Danke für den Link; werde ihn mal im Java Forum zur Diskussion stellen.



  • "Das sollte man nicht tun" bedeutet nicht "das kann man nicht tun". Der Artikel im Java-Forum sagt ja auch ab der Mitte dass man die Swing und AWT sorgfältig mischen kann. Nur wird halt streng davon abgeraten, weil der Nutzen bis auf wenige Ausnahmen, doch eher gering ist... 😉



  • Hier noch ein Artikel über SWT und Swing: http://www.hacknot.info/hacknot/action/showEntry?eid=74
    Hat glaub Optimizer mal gepostet...



  • wenn du mit awt ein fenster und 4 buttons erstellst (unter windows) können die buttons unter linux ganz anders aussehen.

    genau das passiert dir mir swing net..swing rockt 🙂



  • Ich würde Swing gegenüber SWT bevorzugen, es sei denn es ist gewünscht, dass die Oberfläche "nativ" aussieht. Und bevor ich dann zum (low level) SWT greife, würde ich zunächst überlegen, ob Eclipse RCP nicht die bessere Wahl wäre (ja, man kann damit auch eigenständige Anwendungen schreiben und nicht nur Plugins).

    Ich entwickele jetzt zwar schon seit längerem mit SWT, aber das Framework hat einfach den großen Nachteil, dass es zu manchen Themen/ Problemen verdammt wenig Informationen im Netz zu finden gibt. Das liegt vor allem daran, dass sich bestimmte Teile der API über die Versionen hin doch drastisch verändert haben. Und obwohl die SWT API sicherlich nicht schlecht ist, so ist sie doch nicht so mustergültig, elegant und intuitiv wie die Swing API.


Anmelden zum Antworten