Differenza tra AWT vs Swing

Java è un software di sviluppo di applicazioni indipendente dalla piattaforma. Fornisce un set di software che può essere utilizzato per sviluppare applicazioni. Uno di questi software è AWT (Abstract Window Toolkit). È un set di interfaccia di programma che viene utilizzato per creare componenti di interfaccia utente grafica (GUI) e altri servizi richiesti per la GUI in Java. Fa parte delle classi Java Foundation. Semplifica lo sviluppo della GUI. AWT include una serie di finestre, grafica e widget dell'interfaccia utente. Ha anche una solida gestione degli eventi, strumenti di imaging, un gestore di layout per layout di finestre flessibili. In questo argomento, impareremo a conoscere AWT vs Swing e le loro differenze

Swing è il toolkit più recente basato su AWT. Swing offre ai programmatori la flessibilità dell'indipendenza dalla piattaforma. A differenza del programmatore AWT, è possibile creare oggetti GUI più generalizzati utilizzando Swing.

Panoramica di AWT : AWT viene utilizzato per supportare l'interfaccia utente nell'applicazione Java. Fornisce l'astrazione di alto livello per il programma Java poiché nasconde i dettagli della GUI sottostante. Poiché AWT è un sistema operativo basato su api per fornire un'interfaccia utente grafica per Java. Il suo componente ha una dipendenza dalla controparte sottostante (come l'aspetto grafico di quel sistema operativo) per gestirne la funzionalità. Pertanto, questi componenti sono spesso chiamati componenti "pesanti".

Le funzionalità AWT includono:

  • Un ricco set di componenti dell'interfaccia utente.
  • Il robusto modello di gestione degli eventi
  • Gestione layout per layout di finestre diverse
  • Le classi di trasferimento dati supportano il cut-paste attraverso la piattaforma nativa.

Panoramica di Swing : Swing è basato su AWT, fa parte delle classi Java Foundation. Swing si basa completamente su Java ed è per questo che la sua piattaforma è indipendente. Viene utilizzato per creare una GUI più efficace di AWT.

Caratteristiche di Swing:

  • Tutte le funzionalità di AWT
  • Fornisce un ricco set di componenti di livello superiore come un albero, riquadri a schede, caselle di riepilogo, ecc.
  • Aspetto collegabile.
  • Nessuna dipendenza dai componenti peer.

Confronto testa a testa tra AWT vs Swing (infografica)

Di seguito è riportato il top 11 confronto tra AWT vs Swing:

Differenze chiave di AWT vs Swing:

Poiché AWT è un ponte tra l'applicazione e l'interfaccia nativa sottostante, l'implementazione su un nuovo sistema operativo può includere molto lavoro. Perché richiede un peer nativo per essere sviluppato di nuovo. L'uso del peer nativo limita la funzionalità di AWT. AWT ha due livelli di API:

  • Uno fornisce un'interfaccia generale di base tra l'applicazione e il sistema operativo nativo.
  • Secondo widget GUI che fornisce oggetti code-behind basati su tela AWT.

L'uso di componenti nativi rende AWT veloce. Quindi migliora le sue prestazioni. Inoltre, la maggior parte dei browser Web supporta AWT, non è necessario il plug-in Java per le applet AWT. Ma AWT ha un set di componenti più piccolo, quindi gli utenti devono scrivere codice personalizzato per ottenere i propri componenti basati su AWT. I componenti AWT non supportano funzionalità come la barra del titolo e le barre dei menu.

Swing è l'estensione di AWT. Non è la sostituzione esatta di AWT. Quindi ha funzionalità AWT con l'estensibilità di JAVA. Pertanto, tutti i componenti presenti in AWT sono presenti anche in Swing. Ma Swing non richiede una programmazione peer, quindi la rende indipendente dalla piattaforma e leggera. Inoltre, Swing consente una gamma più ampia di componenti.

Swing è un'architettura basata modulare. Supporta il collegamento per l'implementazione personalizzata. L'utente può creare la propria implementazione per sovrascrivere l'implementazione basata su Java predefinita. Swing fornisce anche supporto per il meccanismo di runtime. Il metodo di composizione indiretta consente allo swing di rispondere ai cambiamenti di runtime in base all'ambiente dell'applicazione. Swing supporta funzionalità come icone e suggerimenti. Sun è attivamente coinvolto nello sviluppo di Swing, quindi di tanto in tanto lo swing ottiene nuove funzionalità e migliora rispetto a prima.

La maggior parte del browser Web non supporta lo swing. Pertanto, è necessario disporre di plugin Java per swing. L'oscillazione è più lenta rispetto ad AWT. Poiché i componenti di Swing gestiscono il proprio dipinto (anziché utilizzare API native come DirectX su Windows), ciò potrebbe incorrere in problemi grafici.

Tabella comparativa tra AWT vs Swing:

AWTSWING
AWT è l'acronimo di Abstract Window Toolkit.Swing fa parte di Java Foundation Classes (JFC).
AWT dipende dalla piattaforma. Il suo codice risiede nel sistema operativo del sistema, quindi rende impossibile l'indipendenza della piattaforma.I componenti dell'oscillazione sono realizzati in JAVA. Quindi, rendendolo indipendente dalla piattaforma.
I componenti AWT sono pesanti.I componenti dell'oscillazione sono leggeri.
AWT non segue MVC (Model View Controller).Swing si basa su MVC.
I componenti AWT richiedono java.awt.packageI componenti dell'oscillazione richiedono il pacchetto javax.swing.package.
AWT non ha il riquadro Jtable e Jtabbed.Swing ha il riquadro Jtable e Jtabbed.
AWT dipende dalla piattaforma, quindi non è supportato un aspetto molto diverso.L'altalena può avere un aspetto diverso.
AWT occupa più spazio di memoria.Swing occupa meno spazio di memoria.
AWT è meno potente di Swing.Swing è l'estensione di AWT, quindi molti inconvenienti vengono rimossi.
Aspetto di AWT dipende dalla piattaforma.L'aspetto di Swing è indipendente dalla piattaforma e dal sistema operativo sottostanti.
I componenti AWT dipendono dal codice nativo (peer) per funzionare correttamente. Ecco perché questi componenti sono "componenti pesanti".Swing non ha una tale dipendenza. Quindi questi componenti sono "componenti leggeri".

Conclusione:

Sia AWT che Swing vengono utilizzati per creare un'interfaccia utente grafica in Java. Entrambi sono robusti e hanno i loro pro e contro. Il componente AWT è appropriato per lo sviluppo di semplici app progettato principalmente per essere eseguito su un singolo sistema operativo. Considerando che swing è l'ultima interfaccia che è completamente costruita su Java. Swing offre all'utente la libertà di programmare una volta e funziona ovunque. Fornisce inoltre una gamma più ampia di componenti rispetto ad AWT. Dipende totalmente dalle esigenze dell'utente. Sebbene AWT sia un vecchio sviluppo che sta ancora avvenendo in AWT e sta migliorando. Se il requisito è avere un aspetto più simile al sistema operativo sottostante, allora AWT sarebbe un'opzione migliore. Se vuoi una GUI più flessibile, allora swing è l'ideale.

Articoli consigliati

Questa è stata una guida alla differenza principale tra AWT e Swing. Qui discutiamo anche le differenze chiave tra AWT e Swing con infografica e tabella comparativa. Puoi anche dare un'occhiata ai seguenti articoli per saperne di più -

  1. Java vs Ruby - Qual è il migliore?
  2. Python vs Scala - Differenze principali
  3. Differenza tra HTML5 e Flash
  4. WordPress vs Drupal
  5. Etichetta JavaFX
  6. Layout JavaFX
  7. Tipi e come creare grafici JavaFx?
  8. Cursore JavaFX
  9. Come inserire testo in JavaFX TextField?
  10. Costruttori e metodi del pulsante JavaFx
  11. I 15 principali metodi di HBox in JavaFX

Categoria: