Care este diferența dintre AWT și Swing în Java

principala diferență între AWT și Swing în Java este că AWT este versiunea originală a ferestrelor Java, grafică și widget-ul widget-ului pentru interfața cu utilizatorul, în timp ce Swing este un toolkit widget GUI pentru Java, care este o extensie a AWT.  

Java este un limbaj de programare de nivel înalt, care susține programarea orientată pe obiecte, multithreading, independența pe platformă și multe alte caracteristici. Programatorul poate scrie o varietate de aplicații, inclusiv desktop, web, mobil, prelucrarea imaginilor etc. utilizând limba Java. Oferă seturi de instrumente pentru a construi interfețe grafice grafice de utilizator (GUI). AWT și Swing sunt două dintre ele.

Domenii cheie acoperite

1. Ce este GUI
     - Definiție, funcționalitate
2. Ce este AWT
     - Definiție, funcționalitate
3. Ce este Swing
     - Definiție, funcționalitate
4. Care este diferența dintre AWT și Swing în Java
     - Compararea diferențelor cheie

Termeni cheie

AWT, GUI, Java, Swing

Ce este un GUI

GUI înseamnă Interfață grafică de utilizator. Este o interfață care permite utilizatorilor să opereze o aplicație și să îndeplinească sarcinile necesare. De asemenea, o interfață grafică constă în diferite componente. Fereastra, butoanele, butoanele radio, casetele de selectare, etichetele, listele derulante, câmpurile de text, casetele combo sunt câteva componente GUI. Aceste componente pot declanșa evenimente. De exemplu, o nouă pagină se deschide după ce faceți clic pe un buton sau utilizatorul poate introduce detaliile de înregistrare și apăsați butonul Trimiteți. Cele mai multe aplicații au un GUI pentru a permite utilizatorului să comunice cu aplicația.

Ce este AWT

AWT înseamnă Rezumat Toolkit pentru ferestre. Este un API pentru a dezvolta aplicații GUI sau Windows în Java. Este nevoie de un obiect nativ pentru implementarea funcționalităților. De asemenea, componentele AWT sunt grele și necesită mai mult spațiu de memorie. Mai mult, ei au nevoie de ceva timp pentru a executa. În plus, programatorul trebuie să importe pachetul javax.awt pentru a dezvolta un GUI bazat pe AWT. Butonul, barele de derulare, câmpurile de text, listele, dialogurile și panourile sunt câteva componente AWT. După crearea obiectelor, ele sunt plasate într-un container. De asemenea, acesta oferă spațiul necesar pentru încărcarea componentelor. De obicei, aplicația AWT într-un singur sistem de operare ar putea să arate diferit într-un alt sistem de operare.

Ce este Swing

Swing este un set de instrumente widget GUI pentru Java. Acesta este construit pe partea de sus a API-ului AWT. De asemenea, face parte din clasele Java Foundation (JFC) ale Oracle. Mai mult, Swing furnizează componente de bază, cum ar fi etichete, casete de text, butoane etc., precum și componente avansate, cum ar fi tablouri cu tab-uri, table și copaci. Prin urmare, Swing oferă componente mai sofisticate decât AWT. Aici, programatorul trebuie să importe pachetul javax.swing pentru a scrie o aplicație Swing. Acest pachet oferă o serie de clase, cum ar fi JButton, JTable, JList, JTextArea și JCheckBox.

Figura 1: Aplicație simplă Java Swing

Swing-ul este independent de platformă, iar componentele sale sunt ușoare. În plus, componentele necesită un spațiu minim de memorie. Prin urmare, aplicațiile Swing se execută mult mai repede. Un model comun de design în dezvoltare este Model, View, Controller (MVC). Swing urmează acest tipar. Aceasta ajută la menținerea cu ușurință a codului.  

Diferența dintre AWT și Swing

Definiție

AWT este o colecție de componente GUI (widget-uri) și alte servicii conexe necesare pentru programarea GUI în Java. Swing este o parte a clasei de fundație Java (JFC) care este folosită pentru a crea aplicații GUI frontale bazate pe Java. Prin urmare, aceasta explică principala diferență dintre AWT și Swing în Java.

Tip

Componentele AWT sunt grele în timp ce componentele Swing sunt ușoare.

Platforma dependenței

O altă diferență majoră între AWT și Swing în Java este că AWT este dependent de platformă, în timp ce Swing este independent de platformă.

Afişa

Mai mult decât atât, AWT nu acceptă un aspect și o simplă conectare. Swing susține un aspect și o senzație de conectare. Aceasta este, de asemenea, o diferență importantă între AWT și Swing în Java.

Componente

De asemenea, Swing are componente mai avansate decât AWT.

Viteză

Mai mult, executarea AWT este mai lentă. Cu toate acestea, Swing se execută mai repede.

MVC

AWT nu acceptă modelul MVC în timp ce Swing acceptă modelul MVC. Aceasta este o altă diferență între AWT și Swing.

Spațiu de memorie

Mai mult, componentele AWT necesită mai mult spațiu de memorie în timp ce componentele Swing nu necesită mult spațiu de memorie.

Pachet

Programatorul trebuie să importe pachetul javax.awt pentru a dezvolta un GUI bazat pe AWT. Cu toate acestea, programatorul trebuie să importe pachetul javax.swing pentru a scrie o aplicație Swing.

Concluzie

Pe scurt, AWT și Swing sunt două seturi de instrumente pentru a crea interfețe grafice utile utilizatorilor (GUI). Principala diferență dintre AWT și Swing în Java este că AWT este versiunea originală a ferestrei Java, fereastra de grafică și interfața cu utilizatorul, în timp ce Swing este un GUI widget toolkit pentru Java care este o extensie a AWT. 

Referinţă:

1. "Prezentare generală AWT". Www.tutorialspoint.com, disponibil aici.
2. "Prezentare generală SWING". Www.tutorialspoint.com, disponibil aici.
3. "Swing (Java)" Wikipedia, Fundația Wikimedia, 9 iunie 2018, disponibil aici.
4. "Setul de instrumente pentru ferestre abstracte" Wikipedia, Fundația Wikimedia, 26 august 2018, disponibil aici.

Datorită fotografiei:

1. "Wikibook Java Swing, Manipularea evenimentelor, exemplu 1 captura de ecran" By Samwilson - Activitate proprie (CC BY-SA 3.0) prin Wikimedia Commons