java-forum.org - Java programmieren aus Leidenschaft
Java 6 Einstieg und professioneller Einsatz
Alter Preis: 34,90 EUR
Jetzt: 0,00 EUR

zzgl. Versandkosten

Zurück   java-forum.org - Java programmieren aus Leidenschaft > Java-Forum FAQs > FAQ - Übersicht > Java-FAQ Beiträge > Bilder, GUI und was damit zusammenhängt

Antwort
Themen-Optionen Thema durchsuchen Ansicht
Alt 08.01.2010, 12:00   #1 (permalink)
Stammbenutzer
Megabyte
 
Benutzerbild von Sonecc
 
Registriert seit: 25.09.2009
Fachbeiträge: 1.185
Abgegebene Danke: 96
Erhielt 171 Danke für 148 Beiträge
Standard SWT & Swing - Grundlegende Informationen

SWT & Swing - Grundlegende Informationen
  1. Was ist SWT?
    Das Standard Widget Toolkit ist eine von IBM entwickelte Bibliothek zur Entwicklung grafischer Oberflächen für Java.
    Sie wurde ursprünglich entwickelt um eine effektive Oberfläche für Eclipse bieten zu können.
    Die Entwicklung wurde angefangen, da AWT von Sun nicht mehr weiterentwickelt wurde und Swing damals als langsam, speicherfressend und fehlerbehaftet galt.
    SWT nutzt die nativen (System eigenen) Komponenten (auch heavyweight Components genannt). Das bedeutet, dass in SWT die meisten Widgets nicht nur nativ aussehen, sondern auch entsprechende Verhaltensmuster bieten, da sie vom Betriebssystem gerendert und erzeugt werden.
    Durch die nahe Bindung an das Betriebssystem, muss SWT allerdings auch entsprechende dynamische Bibliotheken mitliefern, wodurch SWT nicht mehr grundsätzlich plattformunabhängig ist.

  2. Was ist Swing?
    Auch Swing ist eine Bibliothek zur Entwicklung grafischer Oberflächen in Java.
    Das von Sun entwickelte Swing nutzt "leichtgewichtige" Komponenten (auch lightweight Components genannt). Das bedeutet, dass die Komponenten direkt in Java gerendert werden und dadurch auf jedem Betriebssystem gleich aussehen und sich gleich verhalten.

  3. Was sind die Vorteile von SWT?
    - In SWT erstellte Programme bieten ein Aussehen und Verhalten, dass sich stark am Betriebssystem orientiert. Dadurch können Programme erzeugt werden, die nicht von anderen Programmen aus anderen Sprachen zu unterscheiden sind.
    - SWT ist auf Windows Systemen recht performant
    - Swing Komponenten lassen sich über SWT nutzen
    - Es sind auch solche Funktionen nutzbar, die vom Betriebssystem selbst abhängen

  4. Was sind die Nachteile von SWT?
    - Auf Nicht-Windows Systemen (wie Linux) ist SWT manchmal weniger performant, da bestimmte Basistools nicht vorhanden sind und erst emuliert werden müssen.
    - Da SWT nicht zur Standard Bibliothek gehört, muss es extra mit dem Programm ausgeliefert werden
    - SWT ist nicht MVC basiert, bietet mit der JFace Erweiterung aber eine MVC Abstraktion (Was MVC ist, erfahrt ihr hier)
    - Nicht zwingend ein Nachteil, aber dennoch zu erwähnen ist, dass die meisten SWT-Widgets nicht erweitert werden können
    - SWT ist im Allgemeinen nicht Thread-Sicher, emuliert dies jedoch durch den so genannten GUI-Thread

  5. Was sind die Vorteile von Swing?
    - Swing ist vollständig in Java geschrieben und damit plattformunabhängig.
    - Swing lässt sich durch die Look and Feels dynamisch (und zur Laufzeit) anpassen
    - Swing ist inzwischen ähnlich performant wie SWT
    - Swing ist in der Standard Bibliothek von Java enthalten und muss damit nicht mit ausgeliefert werden
    - Swing ist MVC basiert

  6. Was sind die Nachteile von Swing?
    - In Swing können keine SWT Elemente genutzt werden
    - Die gemeinsame Nutzung von Swing und AWT kann zu starken Problemen führen (siehe Warum nicht AWT und Swing mischen?)
    - Dass Aussehen und das Verhalten von Swing basierten GUIs unterscheidet sich in vielen Fällen vom Betriebssystem
    - Swing ist im Allgemeinen nicht Thread-Sicher, emuliert dies jedoch über bestimmte Techniken (siehe Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 16.25 AWT, Swing und die Threads)

  7. Und was ist mit AWT?
    AWT ist zwar noch in Java vorhanden, sollte aber möglichst nicht mehr genutzt werden, da AWT inzwischen stark veraltet ist und SWING in nahezu allen Fällen besser geeignet ist.

  8. Was ist nun besser? SWT oder Swing?
    Diese Frage zu beantworten ist nahezu unmöglich.
    SWT und Swing haben beide ihre Vor- und Nachteile.
    Welches System man nun nutzt, hängt stark von den Anforderungen ab und von den Vorlieben der Entwickler.
    Meiner Meinung nach, bieten sich folgende Empfehlungen an:
    SWT sollte immer dann gewählt werden, wenn man nur für Windows Systeme entwickelt und dort eine nahe Bindung an das System aufbauen will. Das liegt darin begründet, dass die meisten Funktionen von SWT auf Windows Systemen am besten und sichersten laufen.
    Swing ist dagegen immer dann zu empfehlen, wenn man voll Plattformunabhängig sein will.
    Die Plattformunabhängigkeit ist hier sehr einfach zu erreichen und man erreicht, dass sich das Programm auf jedem System gleich aussieht und das gleiche Verhalten bietet.



Abschließendes:
Die Forensuche ergab, dass es keine FAQ gibt, die das Thema SWT hat oder auch nur über SWT im entferntesten handelt. Falls es dennoch eine vergleichbare FAQ gibt, bitte ich mein Versäumnis zu entschuldigen.
Ich behaupte nicht, dass meine Recherchen all umfassend sind oder alles richtig ist.
(wenngleich ich auch alles hier stehende recherchiert habe, kann ich nicht auf die Richtigkeit in allen Punkten garantieren)
Wenn jemand Verbesserungsvorschläge hat, kann er diese gerne an mich oder jeden Mod abgeben.
Auch Fehler dürfen mir gerne mitgeteilt werden, und ich bin auch nicht böse, wenn man (konstruktive) Kritik ausübt.


Weiterführende Links:

Geändert von L-ectron-X (02.05.2012 um 22:33 Uhr) Grund: In die FAQ überführt, Geändert von maki (25.01.2010 um 16:08 Uhr)
Sonecc ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Danke sagen:
Elron01 (05.08.2010), GUI-Programmer (16.10.2011), Stelufl (09.01.2012)
Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Swing oder SWT agent47 AWT, Swing, JavaFX & SWT 3 17.08.2009 16:45
Swing, SWT oder Java FX javahoush Scala, Groovy, Jython 24 13.08.2009 11:12
Swing träger als SWT ? LodriYo AWT, Swing, JavaFX & SWT 5 12.08.2007 10:09
[Newbie] AWT, Swing oder SWT lernen AWT, Swing, JavaFX & SWT 6 08.11.2005 13:19
problem mit applet... redman Deployment 0 27.01.2004 08:46


Lesezeichen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:58 Uhr.


Powered by vBulletin® Version 3.8.6 (Deutsch)
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.2
Thanks for Smilies by smilies.4-user.de