Cosa sono le classi della Java Foundation?
Le Java Foundation Classes (JFC) sono componenti software riutilizzabili che possono essere utilizzati per creare un'interfaccia utente grafica in un'applicazione Java®. Sono un miglioramento del toolkit fornito con le prime versioni di Java®. Hanno lo scopo di semplificare lo sviluppo del software, abbreviare i tempi di programmazione e raggiungere l'obiettivo di creare applicazioni che sembrano e agiscono allo stesso modo, indipendentemente dal tipo di computer su cui vengono eseguite.
I JFC sono un insieme di componenti dell'interfaccia utente che si espandono in Abstract Window Toolkit (AWT) originariamente fornito con il linguaggio di programmazione Java®. Sono componenti JavaBeans ™ che fanno parte di Java 2® e sono progettati per essere multipiattaforma e personalizzabili. Hanno lo scopo di ridurre i tempi di programmazione fornendo componenti che possono essere riutilizzati da un'applicazione all'altra e da una piattaforma all'altra. Le Classi Java Foundation in realtà non sostituiscono il Abstract Window Toolkit ma ne fanno invece parte. Tuttavia, consentono l'ideale Java® di "scrivere una volta, eseguire ovunque" in modo più completo rispetto all'AWT originale.
L'AWT consente la progettazione dell'interfaccia utente, ma lo fa utilizzando il sistema a finestre del sistema operativo su cui è in esecuzione. Ciò rende difficile creare applicazioni che sembrano e si comportano allo stesso modo su qualsiasi piattaforma, a causa delle differenze intrinseche nelle funzionalità tra i sistemi operativi. AWT era anche molto limitato in quanto il set di controlli fornito non era abbastanza ampio da creare interfacce utente complesse e applicazioni software avanzate. I componenti AWT sono ciò che Sun Microsystems chiama "pesante" perché usano il sistema di finestre host.
Riconoscendo i limiti di AWT, gli sviluppatori di Netscape hanno creato un insieme di componenti chiamati Internet Foundation Classes. Questi erano un insieme di componenti "leggeri", componenti scritti nativamente in Java®. Ciò ha esteso le funzionalità di AWT e ha permesso agli sviluppatori di creare interfacce utente che hanno mantenuto il loro aspetto quando eseguite su piattaforme diverse. JavaSoft ha quindi avviato un progetto congiunto con Netscape, chiamato progetto Swing. Questo progetto ha portato a una serie di controlli dell'interfaccia utente con una varietà paragonabile a quella disponibile da qualsiasi piattaforma del sistema operativo.
Swing è un insieme di componenti leggeri che Sun ha rilasciato al pubblico in combinazione con molti altri miglioramenti delle funzionalità che erano previsti per Java Development Kit (JDK) versione 1.2. Questo pacchetto di Swing e altri miglioramenti delle funzionalità erano ciò che JavaSoft chiamava Java Foundation Classes. I controlli dell'interfaccia utente di Swing sono la parte principale delle Classi Java Foundation, che includono anche, tra le altre cose, funzioni di stampa, appunti e accessibilità. Il JDK 1.2 include la versione completa di JFC, sebbene fosse disponibile una versione limitata che potesse essere utilizzata con l'attuale JDK 1.1.