Vad är Java Foundation Classes?
Java Foundation Classes (JFC) är återanvändbara programvarukomponenter som kan användas för att bygga ett grafiskt användargränssnitt i en Java®-applikation. De är en förbättring av verktygssatsen som levererades med tidiga versioner av Java®. De är avsedda att förenkla programvaruutveckling, förkorta programmeringstiden och uppfylla målet att skapa applikationer som ser ut och agerar på samma sätt oavsett vilken typ av dator de körs på.
JFC: er är en uppsättning av användargränssnittskomponenter som expanderar på det abstrakta fönsterverktygssatsen (AWT) som ursprungligen levererades med Java®-programmeringsspråket. Det är JavaBeans ™ -komponenter som ingår i Java 2® och är utformade för att vara plattformade och anpassningsbara. De är avsedda att minska programmeringstiden genom att tillhandahålla komponenter som kan återanvändas från applikation till applikation och från plattform till plattform. Java Foundation Classes ersätter inte faktiskt Abstract Window Toolkit utan är istället en del av det. De möjliggör dock Java®-idealet att "skriva en gång, kör var som helst" mer fullständigt än den ursprungliga AWT.
AWT möjliggör design av användargränssnitt, men det gör det med fönstersystemet i operativsystemet som det kör på. Detta gör det svårt att skapa applikationer som ser ut och uppträder på samma plattform på någon plattform på grund av de inneboende skillnaderna i funktioner mellan operativsystem. AWT var också mycket begränsad genom att uppsättningen av kontroller som den gav inte var tillräckligt bred för att skapa komplexa användargränssnitt och avancerade mjukvaruapplikationer. AWT-komponenterna är vad Sun Microsystems kallar "tungvikt" eftersom de använder värdfönstringssystemet.
Netscape-utvecklarna känner igen AWT: s begränsningar och skapade en uppsättning komponenter som kallas Internet Foundation Classes. Dessa var en uppsättning "lätta" komponenter, komponenter skriven naturligt i Java®. Detta utökade funktionen hos AWT och gjorde det möjligt för utvecklare att skapa användargränssnitt som behöll sitt utseende när de körs på olika plattformar. JavaSoft inledde sedan ett gemensamt projekt med Netscape, kallat Swing-projektet. Detta projekt resulterade i en uppsättning användargränssnittskontroller med en variation jämförbar med den som finns tillgänglig från någon av operativsystemplattformarna.
Swing är en uppsättning av lätta komponenter som Sun släppte till allmänheten i kombination med flera andra funktionsförbättringar som var avsedda för Java Development Kit (JDK) version 1.2. Detta paket med Swing plus andra funktionsförbättringar var vad JavaSoft kallade Java Foundation Classes. Användargränssnittet för Swing-användargränssnittet är den största delen av Java Foundation Classes, som också inkluderar bland annat utskrifter, klippbord och tillgänglighetsfunktioner. JDK 1.2 innehåller den fullständiga versionen av JFC, även om en begränsad version gjordes tillgänglig som kunde användas med den dåvarande JDK 1.1.