Swing (Java): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
ZeroBot (discussione | contributi)
m Bot: Sostituzione automatica fix vari
Riga 32:
* Orientato ai componenti: Swing è un framework basato a componenti. La differenza tra oggetti e componenti è leggera: concisamente, un componente è un oggetto con determinate caratteristiche di comportamento conosciute e specificate. Gli oggetti Swing emettono eventi in modo asincrono, hanno caratteristiche legate ad essi stessi, e rispondono da un ben preciso set di comandi (Specifico per componente). Specialmente i componenti Swing Java Beans, seguono le specifiche dell'architettura Java Bean.
 
* Modificabile: Dato il modello di renderizzazione programmatico del framework di Swing, è possibile ottenere un preciso controllo del dettaglio sulla renderizzazione dei suoi componenti. Come discorso generale, la rappresentazione grafica di un componente swingèswing unè una combinazione di un set standard di elementi, come i bordi, le rientranze, decorazioni, etc. Solitamente, gli utenti modificheranno un componente standard di Swing (come una JTable) assegnando a loro dei bordi, colori, sfondi specifici come proprietà del componente. Il componente base, userà queste proprietà (o settaggi) per determinare la modalità più appropriata per disegnarsi. Comunque, è anche possibile creare controlli GUI completamente nuovi, con un livello di rappresentazione visuale molto dettagliato (Per esempio, i componenti Swing supportano le trasparenze.)
 
* Configurabile: Swing, facendo un uso pesante dei meccanismi di runtime e dei percorsi di renderizzazione indiretta, ha la possibilità di modificare a runtime cambiamenti anche fondamentali nei suoi settaggi. Per esempio, una applicazione basata su Swing può cambiare il suo look and feel a runtime (per esempio, dal look and feel di MacOS a quello di Windows XP). Inoltre, gli utenti possono fornire le loro proprie implementazioni di look and feel, il che permette di ottenere cambiamenti uniformi nei look and feel di applicazioni Swing esistenti, senza un continuo ritocco al codice sorgente dell'applicazione.
Riga 38:
* Leggero: La magia della configurabilità di Swing è anche dovuta al fatto che non necessita di usare i controlli della GUI dell' OS nativi per la ''rappresentazione'', ma piuttosto 'disegna' i suoi controlli costantemente, attraverso l'uso delle api 2D di Java. Inoltre, un componente Swing non ha un corrispettivo nell'insieme dei componenti nativi dell'OS, ed è quindi libero di renderizzare se stesso in ogni modo possibile con le librerie grafiche di Java 2D.
 
Comunque, alla base, ogni componente Swing si basa su di un contenitore AWT, dato che i JComponent di Swing estendono quelli di AWT. Questo permette a Swing di innestarsi al framework di controllo della GUI dell'OS nativo, compresocompresi la cruciale mappatura device/screen e le interazioni dell'utente (come le pressioni dei tasti, i movimenti del mouse, etc.) Swing semplicemente 'traduce' la sua (OS agnostico) semantica su quella del sottostante dei componenti dell'OS. Così, per esempio, ogni componente di Swing si disegna sul dispositivo grafico in risposta alla chiamata component.paint(), la quale è definita nel container AWT. Ma, differentemente dai componenti AWT, i quali delegano il disegno ai widget nativi dell'OS, i componenti di Swing sono responsabili della loro stessa renderizzazione.
 
<!-- HELP