Java Swing è una raccolta di componenti utili per la creazione di applicazioni con interfacce grafiche basate su finestre. Si basa sull’API AWT (Abstract Windowing Toolkit) e lo sostitutisce, dato che implementa tutti i componenti e a differenza del suo predecessore, Swing fornisce componenti più leggeri e indipendenti dalla piattaforma.
Differenze tra AWT e Swing
Java AWT | Java Swing |
Componenti dipendenti dalla piattaforma. | Componenti indipendenti dalla piattaforma. |
Componenti pesanti. | Componenti più leggeri. |
Non consente di modificare l’aspetto dell’interfaccia grafica. | Possibilità di personalizzare i componenti in modo semplice e consente di modificare l’aspetto della GUI con il pluggable look and feel. |
Sono disponibili meno componenti di Swing. | Sono disponibili più componenti (tabelle, elenchi, pannelli con scorrimenti, selettore di colori, tab). |
AWT non segue il modello MVC (Model View Controller). | Swing segue il modello MVC. |
L’architettura MVC
Java Swing segue il modello MVC (Model View Controller) la cui architettura si basa nel seguente modo:
- Il modello (model) rappresenta i dati del componente.
- La visualizzazione (view) si occupa di visualizzare visivamente i dati del componente.
- Il controllore (controller) accetta gli input che l’utente inserisce nella parte di visualizzazione (view) e modifica il modello (model) di dati del componente di conseguenza.
