Swing (Java): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Thijs!bot (discussione | contributi)
m robot Tolgo: it:Swing (Java)
TekBot (discussione | contributi)
m Correzione di alcuni errori comuni contenuti in questa lista
Riga 50:
* Loosely-Coupled/MVC: La libreria Swing fa un forte uso del [[design pattern (computer science)|design pattern]] [[Model-view-controller|Model/View/Controller]], il quale concettualmente disaccoppia i dati mostrati ed i controlli dell'interfaccia utente attraverso i quali sono mostrati. Grazie a questo, la maggior parte dei componenti Swing hanno associati ''modelli'' (specificati in termini di Java [[interfaccia_(informatica)|interfaces]]), il programmatore può usare varie implementazioni di default o crearne di proprie. Il framework provvede implementazioni di default di modelli per le interfacce per tutti i suoi componenti.
 
Tipicamente, gli oggetti dei modelli dei componenti Swing sono responsabili di provvedere ad una concisa intrfaccia per la definizione degli eventi che vengono emessi, nonchènonché proprietà accessibili per il modello dei dati da usare con i JComponent associati. Dato questo il modello di sviluppo MVC è un loosely-coupled percorso di oggetti in relazione collaborativamente, il modello provvede i consueti modi per creare event listeners aigli oggetti del data model. Tipicamente, questi eventi sono model centric (ad esempio: l'inserimento di righe in un modello di tabella) e sono mappati dalla specializzazione del JComponent in un ben preciso evento per il componente GUI.
 
Per esempio, il {{Javadoc:SE|javax/swing|JTable}} ha un modello chiamato {{Javadoc:SE|javax/swing/table|TableModel}} che descrive una interfaccia per come una tabella dovrebbe accedere ai dati. Una implementazione di default di questo opera su di un [[array]] bidimensionale.
Riga 70:
Fin dalle prime versioni di Java, una porzione del [[Abstract Windowing Toolkit]] (AWT) ha fornito API indipendenti dalla piattaforma per i componenti della GUI. In AWT, ogni componente è renderizzato e controllato da uno nativo specifico per il sottostante sistema operativo.
 
In contrasto, i componenti Swing sono spesso descritti come ''lightweight'' perchèperché non necessitano l'allocazione di risorse native nel toolkit della GUI del sistema operativo. I componenti AWT vengono detti come ''heavyweight components''.
 
La maggior parte delle API Swing è generalmente una estensione complementare di AWT piuttosto che un diretto rimpiazzo. Infatti, ogni interfaccia Swing lightweight esiste ultimamente con un componente AWT heavyweight perchèperché tutti i componenti top-level in Swing ({{Javadoc:SE|javax/swing|JApplet}}, {{Javadoc:SE|javax/swing|JDialog}}, {{Javadoc:SE|javax/swing|JFrame}} e {{Javadoc:SE|javax/swing|JWindow}}) estendono i container top-level AWT. La funzionalità di renderizzazione usata da Swing per disegnare i suoi componenti è provvista da [[Java2D]], una altra parte di JFC. Comunque l'uso di sua i componenti lightweight che heavyweight nella stessa finestra è generalmente scoraggiato per le incompatibilità di [[Z-order]].
 
==Legami con SWT==