Vai al contenuto

Java Swing

Da Wikipedia, l'enciclopedia libera.
Esempio di widget in Java 5.0+ per il X Window System. La renderizzazione dei font potrebbe variare a seconda della piattaformaa utilizzata.

Swing è un Framework per Java. E' una parte di Java Foundation Classes (JFC). Swing include una Interfaccia grafica (GUI), dei widget come le caselle di testo, pulsanti, pannelli e tabelle.

I widget Swing forniscono una GUI più sofisticata rispetto alla precedente Abstract Window Toolkit. Siccome sono scritti un puro Since they are written in pure Java, funzionano allo stesso modo su tutte le piattaforme (Su cui java gira), al contrario delle AWT le quali sono legate al sistema grafico nativo del sistema operativo. Swing supporta il look and feel non tramite quello che viene fornito nativamente dal gestore delle finestre, ma tramite una sua emulazione. Questo significa che puoi ottenere un qualsiasi L&F supportato su qualsiasi piattaforma. Lo svantaggio di questi componenti heavyweight è quello di una più lenta esecuzione. Il vantaggio è una uniformità di visualizzazione tra svariate piattaforme.

Storia

La Internet Foundation Classes (IFC) era una libreria grafica per Java sviluppata originalmente dalla Netscape Communications Corporation e rilasciata per la prima volta nel 16 Dicembre 1996.

Il 2 Aprile 1997, Sun Microsystems e Netscape Communications Corporation annunciarono la loro intenzione di combinare IFC con altre tecnologie per creare la Java Foundation Classes. Oltre ai componenti originalmente forniti da IFC, Swing introdusse un meccanismo che permetteva il look and feel di ogni componente di una applicazione di essere alterato semza dover fare cambiamenti significativi al codice sorgente. L'introduzione del supporto al look and feel a plug-in permise ai componenti Swing di emulare l'apparenza dei componenti nativi mantenendo comunque il beneficio di essere indipendenti dalla piattaforma. Questa caratteristica rende molto semplice l'avere un look di una applicazione individuale che appare significativamente differente da tutti gli altri programmi nativi.

Originalmente distribuito come una libreria scaricabile separatamente, Swing fu inclusa come parte della Java Standard Edition fin dalla versione 1.2. Le classi Swing sono contenuto nella gerarchia package.

Architettura

Swing è un modello di programmazione per il Java:

  • indipendente dalla piattaforma
  • orientato ai componenti
  • estendibile
  • modificabile
  • configurabile
  • loosely-coupled
  • leggero
  • a spedizione di eventi
  • un framework GUI MVC
  • con un thread unico



  • Indipendente dalla piattaforma: Swing è indipendente dalla piattaforma sia in termini di linguaggio (Java) sia della sua implementazione (una renderizzazione universale e non nativa dei widget).
  • Estendibile: Swing è una architettura molto suddivisa la quale permette l'aggancio di varie implementazioni modificate di specifiche interfacce: Gli utenti possono creare le loro personali implementazioni dei componenti per modificare le implementazioni di default. In generale, gli utenti Swing possono estendere il framework con: estensione delle classi esistenti; fornitura di implementazioni native dei componenti base.
  • 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.