Differenza chiave – AWT vs Swing
Java è un linguaggio di programmazione di alto livello sviluppato da Sun Microsystems. Java supporta la programmazione orientata agli oggetti che aiuta a progettare e sviluppare un software utilizzando oggetti. Quando il programma Java viene compilato, viene convertito in un bytecode. Tale bytecode viene interpretato dalla Java Virtual Machine (JVM) su qualsiasi piattaforma. Pertanto, è un linguaggio di programmazione che i programmatori possono scrivere una volta ed eseguire su qualsiasi piattaforma. Java può essere utilizzato per sviluppare una varietà di applicazioni come applicazioni desktop, mobili e web. Il linguaggio fornisce toolkit per la creazione di interfacce utente grafiche (GUI) avanzate. Due di loro sono AWT e Swing. Questo articolo discute la differenza tra AWT e Swing. La differenza fondamentale tra AWT e Swing è che AWT è il toolkit di widget per finestre, grafica e interfaccia utente dipendente dalla piattaforma di Java mentre Swing è un toolkit per widget GUI per Java che è un'estensione per AWT.
Cos'è AWT?
Un'interfaccia utente grafica è un'interfaccia che consente agli utenti di fornire istruzioni affinché il software esegua le attività. Si compone di vari componenti grafici. Alcuni componenti della GUI sono finestre, pulsanti, caselle combinate, aree di testo, caselle di riepilogo ed etichette. Utilizzando questi componenti, il programmatore può sviluppare un'interfaccia utente interattiva per l'applicazione. Una GUI è basata sugli eventi. Il clic del pulsante, la chiusura della finestra, la digitazione di qualcosa nella casella di testo sono alcuni esempi di eventi che possono verificarsi in un'applicazione basata sull'interfaccia utente grafica. Oggi molte applicazioni contengono GUI. Le applicazioni mobili, i sistemi di prenotazione dei biglietti aerei, gli sportelli automatici hanno ricche interfacce grafiche per consentire ai clienti di utilizzare facilmente l'applicazione.
AWT sta per Abstract Window Toolkit. AWT richiede un oggetto OS nativo per implementare le funzionalità. Pertanto, i componenti AWT sono pesanti e richiedono più spazio di memoria. Anche i componenti AWT richiedono tempo per essere eseguiti. Il numero di componenti disponibili in AWT è minimo. È necessario importare il pacchetto javax.awt per sviluppare applicazioni GUI basate su AWT.
Figura 01: AWT e Swing
Alcuni componenti AWT sono pulsanti, campi di testo, caselle a discesa, barre di scorrimento, finestre, cornici, pannelli, etichette. Dopo aver creato gli oggetti, possono essere inseriti in un contenitore. Un contenitore fornisce spazio per caricare i componenti. AWT non supporta l'aspetto e la funzionalità collegabili. Pertanto, un'applicazione AWT sviluppata in un sistema operativo potrebbe non avere lo stesso aspetto in un altro sistema operativo.
Cos'è Swing?
Swing è un toolkit per widget GUI per Java. Fa parte delle Java Foundation Classes (JFC) di Oracle. È un'interfaccia di programmazione dell'applicazione per creare GUI per applicazioni Java. È costruito sulla base dell'API AWT. Swing è stato sviluppato per fornire componenti più flessibili e sofisticati rispetto a AWT. Swing contiene componenti di base come etichette, caselle di testo, pulsanti. Contiene anche componenti più avanzati. Alcuni di essi sono alberi, tabelle, elenchi, riquadri di scorrimento e riquadri a schede. Se il programmatore deve implementare un'applicazione Swing, è necessario importare il pacchetto javax.swing. Il pacchetto fornisce classi per Java Swing API come JButton, JRadioButton, JTextField, JCheckbox ecc.
I componenti Swing non hanno un codice specifico della piattaforma. Pertanto, Swing è indipendente dalla piattaforma. A differenza di AWT, Swing non richiede chiamate al sistema operativo nativo per creare componenti. JVM è responsabile del richiamo dei metodi nativi. I componenti Swing sono leggeri. Anche lo spazio di memoria richiesto è minimo. Questo è un fattore considerevole per eseguire più velocemente le applicazioni basate su Swing. Nello sviluppo di applicazioni, Model, View, Controller (MVC) è un modello di progettazione comune. Il modello rappresenta i dati. La vista rappresenta la presentazione mentre Controller è l'interfaccia tra il modello e la vista. Swing segue questo schema. Swing supporta l'aspetto e la sensazione pluggable. Nel complesso, è più potente di AWT.
Qual è la somiglianza tra AWT e Swing?
Entrambi sono toolkit basati su Java per creare un'interfaccia utente grafica
Qual è la differenza tra AWT e Swing?
AWT vs Swing |
|
AWT è il toolkit di widget per finestre, grafica e interfaccia utente di Java che precede Swing. | Swing è un toolkit per widget GUI per Java che fa parte della Java Foundation Class (JFC) di Oracle. |
Dipendenza dalla piattaforma | |
I componenti AWT dipendono dalla piattaforma. | I componenti dell'oscillazione sono indipendenti dalla piattaforma. |
Numero di componenti | |
AWT contiene un numero inferiore di componenti. | Lo swing ha un numero maggiore di componenti. |
Componenti | |
I componenti AWT sono pesanti. | I componenti dell' altalena sono leggeri. |
MVC | |
AWT non segue MVC. | Swing segue MVC. |
Velocità | |
AWT non è veloce come Swing. | Lo swing è più veloce di AWT. |
Spazio di memoria richiesto | |
I componenti AWT richiedono più spazio di memoria. | I componenti Swing richiedono meno spazio di memoria. |
Pacchetto richiesto | |
AWT richiede l'importazione del pacchetto javax.awt. | Swing richiede l'importazione del pacchetto javax.swing. |
Aspetto e funzionalità collegabili | |
AWT non supporta l'aspetto e la funzionalità pluggable. | Swing offre un look and feel collegabile. |
Riepilogo – AWT vs Swing
Questo articolo ha discusso di due strumenti di progettazione dell'interfaccia utente grafica che sono AWT e Swing. La differenza tra AWT e Swing è che AWT è il toolkit di widget per finestre, grafica e interfaccia utente originale di Java, mentre Swing è un toolkit per widget GUI per Java, che è un'estensione per AWT. Swing offre funzionalità più ricche rispetto ad AWT. L'aspetto della GUI creata utilizzando Swing sembra migliore della GUI con AWT. A differenza di AWT, Swing supporta l'aspetto e la funzionalità pluggable e aumenta l'usabilità dell'applicazione.
Scarica la versione PDF di AWT vs Swing
Puoi scaricare la versione PDF di questo articolo e usarla per scopi offline come da nota di citazione. Si prega di scaricare la versione PDF qui: Differenza tra AWT e Swing