12 Unterschied zwischen Abstract Window Toolkit (AWT) und Swing in Java

Contents

AWT (Abstract Window Toolkit)

Abstract Window Toolkit (AWT) ist ein Satz von Anwendungsprogrammschnittstellen (APIs), die von Java-Programmierern verwendet werden, um grafische Benutzeroberflächen (GUI)-Objekte wie Schaltflächen, Bildlaufleisten und Fenster zu erstellen. Java AWT-Komponenten sind plattformabhängig, dh Komponenten werden entsprechend der Sicht des Betriebssystems angezeigt.

AWT ist Teil der Java Foundation Classes (JFC) von Sun Microsystems, dem Unternehmen, das Java gegründet hat. Die JFC sind ein umfassender Satz von GUI-Klassenbibliotheken, die die Entwicklung des Benutzeroberflächenteils eines Anwendungsprogramms erleichtern.

Das Java Abstract Window Tool Kit-Paket wird zum Anzeigen der Daten in einer GUI-Umgebung verwendet. Zu den Merkmalen des AWT-Pakets gehören:

  • Eine Reihe von nativen Benutzeroberflächenkomponenten
  • Ein robustes Event-Handling-Modell
  • Grafik- und Bildwerkzeuge einschließlich Form-, Farb- und Frontklassen
  • Layoutmanager für flexible Fensterlayouts, die nicht von einer bestimmten Fenstergröße oder Bildschirmauflösung abhängen.
  • Datenübertragungsklassen zum Ausschneiden und Einfügen über die Zwischenablage der nativen Plattform.

Das Java.awt-Paket bietet Klassen für die AWT-API wie TextField, Label, TextArea, RadioButton, CheckBox, Choice, List usw.

AWT wird heutzutage aufgrund seiner plattformabhängigen und schweren Natur nur noch selten verwendet. AWT-Komponenten gelten als schwergewichtig, da sie vom zugrunde liegenden Betriebssystem (OS) generiert werden. Wenn Sie beispielsweise ein Textfeld in AWT instanziieren, bedeutet dies, dass Sie OS tatsächlich bitten, ein Textfeld für Sie zu erstellen.

Was Sie über AWT wissen müssen

  1. AWT-Komponenten sind von der Art der Plattform abhängig. Sein Code befindet sich im Betriebssystem des Systems, was eine Plattformunabhängigkeit unmöglich macht.
  2. Programmierer müssen das Paket javax.awt importieren, um eine AWT-basierte GUI zu entwickeln.
  3. AWT-Komponenten dienen als dünne Codierungsschicht, die an der Spitze des Betriebssystems liegt.
  4. Viele Features/Funktionen von AWT-Komponenten müssen vom Coder implementiert werden.
  5. AWT-Komponenten benötigen und belegen größeren Speicherplatz.
  6. AWT folgt nicht MVC (Model View Controller).
  7. AWT-Komponenten sind schwergewichtig, da jede grafische Einheit die nativen Methoden aufruft.
  8. AWT ist weniger stark als Swing.
  9. Das Erscheinungsbild von AWT hängt von der Plattform ab.
  10. AWT bietet weniger Komponenten als Swing.
  11. Die Ausführung von AWT ist langsamer.
  12. AWT unterstützt kein steckbares Look-and-Feel.

Schwingen

Swing ist ein GUI-Widget-Toolkit für Java. Es ist Teil der Java Foundation Classes (JFC) von Oracle, die verwendet wird, um fensterbasierte Anwendungen zu erstellen. Swing wurde entwickelt, um einen fortschrittlicheren Satz von GUI-Komponenten bereitzustellen als das Abstract Window Toolkit (AWT.

Swing bietet ein Look-and-Feel, das das Erscheinungsbild mehrerer Plattformen emuliert und auch ein austauschbares Erscheinungsbild unterstützt, das es Anwendungen ermöglicht, ein Aussehen und Verhalten zu haben, das sich nicht auf die zugrunde liegende Plattform bezieht.

Das Javax.swing-Paket bietet Klassen für die Java-Swing-API wie JButton, JTextField, JTextArea, JRadioButton, JCheckbox, JMenu, JColorChooser usw. Zusätzlich zu diesen Komponenten bietet swing mehrere erweiterte Komponenten wie Tabbed Panel, Scroll Panes, Trees, Tables und Liste.

Im Gegensatz zu AWT-Komponenten werden Swing-Komponenten nicht durch plattformspezifischen Code implementiert. Stattdessen sind sie vollständig in Java geschrieben und daher plattformunabhängig und leichtgewichtig.

Was Sie über Swing wissen müssen

  1. Java-Swing-Komponenten sind nicht von der Art der Plattform abhängig. Sie sind rein in Java gescriptet.
  2. Der Programmierer muss das Paket javax.swing importieren, um eine Swing-Anwendung zu schreiben.
  3. Swing-Komponenten sind viel größer und bieten eine höhere Funktionalität.
  4. Swing-Komponenten bieten eingebaute Funktionen für ihre Leistung.
  5. Swing-Komponenten belegen nicht so viel Speicherplatz wie AWT-Komponenten.
  6. Swing basiert auf MVC (Model View Controller), wobei das Modell Daten darstellt, die Ansicht die Präsentation darstellt und der Controller als Schnittstelle zwischen Modell und Ansicht fungiert.
  7. Swing-Komponenten sind leichtgewichtig, da es in der Verantwortung der JVM liegt, die nativen Methoden aufzurufen.
  8. Swing ist eine Erweiterung von AWT und viele Nachteile von AWT werden im Swing beseitigt.
  9. Swing basiert auf dem Model View Controller-Muster; Das Look-and-Feel der Swing-Komponenten ist unabhängig von der Hardware und dem Betriebssystem.
  10. Swing bietet leistungsfähigere Komponenten wie Tabellen, Listen, Scrollpanes, Colorchooser, Tabbedpane etc.
  11. Swing wird schneller ausgeführt.
  12. Swing unterstützt steckbares Look and Feel.

Lesen Sie auch: Unterschied zwischen While- und Do-while-Schleife in Java

Unterschied zwischen AWT und Swing in Tabellenform

VERGLEICHSGRUNDLAGEABSTRAKTES FENSTERWERKZEUG (AWT)SCHWINGEN
BeschreibungAWT-Komponenten sind von der Art der Plattform abhängig. Sein Code befindet sich im Betriebssystem des Systems, was eine Plattformunabhängigkeit unmöglich macht.  Java-Swing-Komponenten sind nicht von der Art der Plattform abhängig. Sie sind rein in Java gescriptet.  
PaketProgrammierer müssen das Paket javax.awt importieren, um eine AWT-basierte GUI zu entwickeln.  Der Programmierer muss das Paket javax.swing importieren, um eine Swing-Anwendung zu schreiben.  
NaturAWT-Komponenten dienen als dünne Codierungsschicht, die an der Spitze des Betriebssystems liegt.  Swing-Komponenten sind viel größer und bieten eine höhere Funktionalität.  
MerkmaleViele Features/Funktionen von AWT-Komponenten müssen vom Coder implementiert werden.  Swing-Komponenten bieten eingebaute Funktionen für ihre Leistung.  
SpeicherplatzbedarfAWT-Komponenten benötigen und belegen größeren Speicherplatz.  Swing-Komponenten belegen nicht so viel Speicherplatz wie AWT-Komponenten.  
Model View ControllerAWT folgt nicht MVC (Model View Controller).  Swing basiert auf MVC (Model View Controller), wobei das Modell Daten darstellt, die Ansicht die Präsentation darstellt und der Controller als Schnittstelle zwischen Modell und Ansicht fungiert.  
Allgemeine FunktionAWT-Komponenten sind schwergewichtig, da jede grafische Einheit die nativen Methoden aufruft.  Swing-Komponenten sind leichtgewichtig, da es in der Verantwortung der JVM liegt, die nativen Methoden aufzurufen.  
FunktionalitätAWT ist weniger stark als Swing.  Swing ist eine Erweiterung von AWT und viele Nachteile von AWT werden im Swing beseitigt.  
Schauen und fühlenDas Erscheinungsbild von AWT hängt von der Plattform ab.  Swing basiert auf dem Model View Controller-Muster; Das Look-and-Feel der Swing-Komponenten ist unabhängig von der Hardware und dem Betriebssystem.  
Anzahl der KomponentenAWT bietet weniger Komponenten als Swing.  Swing bietet leistungsfähigere Komponenten wie Tabellen, Listen, Scrollpanes, Colorchooser, Tabbedpane etc.  
AusführungDie Ausführung von AWT ist langsamer.  Swing wird schneller ausgeführt.  
Unterstützt steckbares Aussehen und GefühlAWT unterstützt kein steckbares Look-and-Feel.  Swing unterstützt steckbares Look and Feel.  

Lesen Sie auch: Unterschied zwischen Wurf und Wurf in Java

osky