Unterschied zwischen AWT und Swing

Java ist eine plattformunabhängige Anwendungsentwicklungssoftware. Es bietet eine Reihe von Software, die zum Entwickeln von Anwendungen verwendet werden kann. Eine solche Software ist AWT (Abstract Window Toolkit). Hierbei handelt es sich um eine Reihe von Programmoberflächen, mit denen GUI-Komponenten (Graphical User Interface) und andere Dienste erstellt werden, die für die GUI in Java erforderlich sind. Es ist Teil von Java Foundation Classes. Dies erleichtert die Entwicklung der grafischen Benutzeroberfläche. AWT enthält eine Reihe von Widgets für Fenster, Grafiken und Benutzeroberflächen. Es verfügt außerdem über ein robustes Event-Handling, Imaging-Tools und einen Layout-Manager für flexible Fensterlayouts. In diesem Thema lernen wir AWT vs Swing und ihre Unterschiede kennen

Swing ist das neueste Toolkit, das auf AWT basiert. Swing bietet Programmierern Flexibilität in Bezug auf die Plattformunabhängigkeit. Anders als AWT kann der Programmierer mit Swing allgemeinere GUI-Objekte erstellen.

Übersicht über AWT : AWT wird zur Unterstützung der Benutzeroberfläche in Java-Anwendungen verwendet. Es bietet die Abstraktion auf hoher Ebene für Java-Programme, da die zugrunde liegenden GUI-Details ausgeblendet werden. Da AWT ein API-Build auf dem Betriebssystem ist, bietet es eine grafische Benutzeroberfläche für Java. Seine Komponente ist abhängig vom zugrunde liegenden Gegenstück (wie das Aussehen und Verhalten dieses Betriebssystems), um dessen Funktionalität zu handhaben. Daher werden diese Komponenten häufig als "Schwergewichts" -Komponenten bezeichnet.

AWT-Funktionen umfassen:

  • Eine Vielzahl von Komponenten der Benutzeroberfläche.
  • Das robuste Event-Handling-Modell
  • Layout Manager für verschiedene Fensterlayouts
  • Datenübertragungsklassen unterstützen das Ausschneiden und Einfügen über die native Plattform.

Swing im Überblick : Swing basiert auf AWT und ist Teil von Java Foundation Classes. Swing basiert vollständig auf Java, daher ist seine Plattform unabhängig. Es wird verwendet, um eine effektivere Benutzeroberfläche als AWT zu erstellen.

Eigenschaften von Swing:

  • Alle Funktionen von AWT
  • Bietet eine Vielzahl übergeordneter Komponenten wie einen Baum, Registerkarten, Listenfelder usw.
  • Steckbare Optik und Haptik.
  • Keine Abhängigkeit von Peer-Komponenten.

Head to Head Vergleich zwischen AWT und Swing (Infografik)

Unten ist der Top 11 Vergleich zwischen AWT und Swing:

Hauptunterschiede zwischen AWT und Swing:

Da AWT eine Brücke zwischen der Anwendung und der zugrunde liegenden nativen Schnittstelle darstellt, kann die Implementierung auf einem neuen Betriebssystem viel Arbeit erfordern. Weil ein nativer Peer neu entwickelt werden muss. Die Verwendung von nativen Peers schränkt die Funktionalität von AWT ein. AWT hat zwei Ebenen von APIs -

  • Eine bietet eine grundlegende allgemeine Schnittstelle zwischen der Anwendung und dem nativen Betriebssystem.
  • Zweites GUI-Widget, das Code-Behind-Objekte bereitstellt, die auf der AWT-Zeichenfläche gesteuert werden.

Die Verwendung nativer Komponenten macht AWT schnell. Daher verbessert sich seine Leistung. Außerdem unterstützen die meisten Webbrowser AWT. Für AWT-Applets ist kein Java-Plugin erforderlich. AWT verfügt jedoch über einen kleineren Satz von Komponenten. Benutzer müssen daher benutzerdefinierten Code schreiben, um ihre eigenen AWT-basierten Komponenten zu erhalten. AWT-Komponenten unterstützen keine Funktionen wie Titelleiste und Menüleisten.

Swing ist die Erweiterung von AWT. Es ist nicht der genaue Ersatz für AWT. Daher verfügt es über AWT-Funktionen mit der Erweiterbarkeit von JAVA. Alle in AWT enthaltenen Komponenten sind also auch in Swing enthalten. Swing erfordert jedoch keine Peer-Programmierung, wodurch es plattformunabhängig und leichtgewichtig wird. Außerdem ermöglicht Swing eine größere Auswahl an Komponenten.

Swing ist eine modulare Architektur. Es unterstützt Plugging für die benutzerdefinierte Implementierung. Der Benutzer kann eine eigene Implementierung erstellen, um die Java-basierte Standardimplementierung zu überschreiben. Swing unterstützt auch den Laufzeitmechanismus. Die indirekte Kompositionsmethode ermöglicht es dem Swing, auf Laufzeitänderungen entsprechend der Anwendungsumgebung zu reagieren. Swing unterstützt Funktionen wie Symbole und Tooltipps. Sun ist von Zeit zu Zeit aktiv an der Entwicklung von Swing beteiligt. Swing erhält neue Funktionen und wird besser als früher.

Die meisten Webbrowser unterstützen Swing nicht. Daher muss man ein Java-Plugin für Swing haben. Swing ist langsamer als AWT. Da Swing-Komponenten ihre eigenen Bilder verarbeiten (anstatt native APIs wie DirectX unter Windows zu verwenden), kann dies zu Grafikfehlern führen.

Vergleichstabelle zwischen AWT vs Swing:

AWTSCHWINGEN
AWT steht für Abstract Window Toolkit.Swing ist Teil von Java Foundation Classes (JFC).
AWT ist plattformabhängig. Sein Code befindet sich im Betriebssystem des Systems und macht es daher für die Plattformunabhängigkeit unmöglich.Schaukelkomponenten werden in JAVA hergestellt. Dadurch wird es plattformunabhängig.
AWT-Komponenten sind schwergewichtig.Schaukelkomponenten sind leicht.
AWT folgt nicht MVC (Model View Controller).Swing basiert auf MVC.
AWT-Komponenten erfordern java.awt.packageSwing-Komponenten benötigen das javax.swing.package.
AWT verfügt nicht über Jtable- und Jtabbed-Fenster.Swing hat Jtable- und Jtabbed-Fenster.
AWT ist plattformabhängig, daher wird kein sehr unterschiedliches Erscheinungsbild unterstützt.Swing kann anders aussehen und sich anders anfühlen.
AWT belegt mehr Speicherplatz.Swing benötigt weniger Speicherplatz.
AWT ist weniger stark als Swing.Swing ist die Erweiterung von AWT, wodurch viele Nachteile beseitigt werden.
Look and Feel von AWT ist plattformabhängig.Das Erscheinungsbild von Swing ist unabhängig von der zugrunde liegenden Plattform und dem Betriebssystem.
AWT-Komponenten hängen von nativem Code (Peers) ab, damit sie ordnungsgemäß funktionieren. Deshalb handelt es sich bei diesen Komponenten um „Heavy Weight Components“.Swing hat keine solche Abhängigkeit. Daher handelt es sich bei diesen Komponenten um „Light Weight Components“.

Fazit:

Sowohl AWT als auch Swing werden zum Erstellen einer grafischen Benutzeroberfläche in Java verwendet. Sie sind beide robust und haben ihre eigenen Vor- und Nachteile. Die AWT-Komponente eignet sich für die einfache App-Entwicklung, die hauptsächlich auf einem einzelnen Betriebssystem ausgeführt werden kann. Swing ist die neueste Schnittstelle, die vollständig auf Java aufbaut. Swing gibt dem Benutzer die Freiheit, einmal zu codieren und läuft überall. Es bietet auch eine größere Auswahl an Komponenten als AWT. Es hängt völlig von den Benutzeranforderungen ab. Obwohl es sich bei AWT um eine alte Entwicklung handelt, die bei AWT immer noch stattfindet und immer besser wird. Wenn das Erscheinungsbild eher dem zugrunde liegenden Betriebssystem entsprechen soll, ist AWT die bessere Option. Wenn Sie eine flexiblere Benutzeroberfläche wünschen, ist Swing die richtige Wahl.

Empfohlene Artikel

Dies war ein Leitfaden für den Hauptunterschied zwischen AWT und Swing. Hier diskutieren wir auch die wichtigsten Unterschiede zwischen AWT und Swing mit Infografiken und Vergleichstabelle. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -

  1. Java vs Ruby - Welches ist besser?
  2. Python vs Scala - Top Unterschiede
  3. Unterschied zwischen HTML5 und Flash
  4. WordPress vs Drupal
  5. JavaFX Label
  6. JavaFX-Layouts
  7. Typen und wie erstelle ich JavaFx-Diagramme?
  8. JavaFX Slider
  9. Wie kann ich in JavaFX TextField Text eingeben?
  10. Konstruktoren und Methoden von JavaFx Button
  11. Top 15 Methoden der HBox in JavaFX