Hva er Java Foundation Classes?
Java Foundation Classes (JFC-er) er gjenbrukbare programvarekomponenter som kan brukes til å bygge et grafisk brukergrensesnitt i en Java®-applikasjon. De er en forbedring av verktøysettet som ble levert med tidlige versjoner av Java®. De er ment å forenkle programvareutvikling, forkorte programmeringstid og oppfylle målet om å lage applikasjoner som ser ut og fungerer på samme måte, uansett hvilken type datamaskin de kjøres på.
JFC-er er et sett med brukergrensesnittkomponenter som utvider seg til Abstract Window Toolkit (AWT) som opprinnelig ble levert med Java®-programmeringsspråket. Dette er JavaBeans ™ -komponenter som er en del av Java 2® og er designet for å være kryssplattform og tilpasses. De er ment å redusere programmeringstiden ved å tilby komponenter som kan gjenbrukes fra applikasjon til applikasjon og fra plattform til plattform. Java Foundation Classes erstatter ikke faktisk Abstract Window Toolkit, men er i stedet en del av det. De muliggjør imidlertid Java®-idealet om å "skrive en gang, kjøre hvor som helst" mer fullstendig enn det originale AWT.
AWT muliggjør design av brukergrensesnitt, men gjør det ved å bruke vindussystemet til operativsystemet den kjører på. Dette gjør det vanskelig å lage applikasjoner som ser ut og oppfører seg på en hvilken som helst plattform på grunn av de iboende forskjellene i funksjoner mellom operativsystemer. AWT var også veldig begrenset ved at settet med kontroller det ga ikke var bredt nok til å lage komplekse brukergrensesnitt og avanserte programvare. AWT-komponentene er det Sun Microsystems kaller "tungvekt" fordi de bruker vertsvinduesystemet.
Netscape-utviklerne anerkjente AWTs begrensninger og opprettet et sett med komponenter kalt Internet Foundation Classes. Dette var et sett med "lette" komponenter, komponenter skrevet innfødt i Java®. Dette utvidet funksjonaliteten til AWT og tillot utviklere å lage brukergrensesnitt som holdt utseendet når de ble kjørt på forskjellige plattformer. JavaSoft startet deretter et felles prosjekt med Netscape, kalt Swing-prosjektet. Dette prosjektet resulterte i et sett med brukergrensesnittkontroller med en variasjon som kan sammenlignes med den som er tilgjengelig fra noen av operativsystemplattformene.
Swing er et sett med lette komponenter som Sun ga ut for publikum i kombinasjon med flere andre funksjonsforbedringer som var ment for Java Development Kit (JDK) versjon 1.2. Denne pakken med Swing pluss andre funksjonsforbedringer var det JavaSoft kalte Java Foundation Classes. Brukergrensesnittkontrollene for Swing er hoveddelen av Java Foundation Classes, som også inkluderer blant annet utskrift, utklippstavle og tilgjengelighetsfunksjoner. JDK 1.2 inkluderer fullversjonen av JFC, selv om en begrenset versjon ble gjort tilgjengelig som kan brukes med den nåværende gjeldende JDK 1.1.