Hvad er Java Foundation klasser?
Java Foundation Classes (JFC'er) er genanvendelige softwarekomponenter, der kan bruges til at opbygge en grafisk brugergrænseflade i et Java®-program. De er en forbedring af værktøjssættet, der blev leveret med tidlige versioner af Java®. De er beregnet til at forenkle softwareudvikling, forkorte programmeringstiden og opfylde målet om at oprette applikationer, der ser ud og fungerer på samme måde, uanset hvilken type computer, de kører på.
JFC'er er et sæt brugergrænsefladekomponenter, der udvides til det abstrakte vinduesværktøjssæt (AWT), der oprindeligt blev leveret med Java®-programmeringssprog. Det er JavaBeans ™ -komponenter, der er en del af Java 2® og er designet til at være tværplatforme og tilpasses. De er beregnet til at reducere programmeringstiden ved at tilvejebringe komponenter, der kan genbruges fra applikation til applikation og fra platform til platform. Java Foundation Classes erstatter faktisk ikke det abstrakte vinduesværktøjssæt, men er i stedet en del af det. De muliggør imidlertid Java®-idealet om "skriv en gang, kør hvor som helst" mere fuldstændigt end det originale AWT.
AWT muliggør design af brugergrænseflade, men gør det ved hjælp af vinduessystemet i det operativsystem, det kører på. Dette gør det vanskeligt at oprette applikationer, der ser ud og opfører sig ens på enhver platform på grund af de iboende forskelle i funktioner mellem operativsystemer. AWT var også meget begrænset, idet det sæt af kontroller, det leverede, ikke var bredt nok til at skabe komplekse brugergrænseflader og avancerede softwareapplikationer. AWT-komponenterne er, hvad Sun Microsystems kalder "tungvægt", fordi de bruger værtsvinduesystemet.
I erkendelse af AWT's begrænsninger oprettede Netscape-udviklere et sæt komponenter, der kaldes Internet Foundation Classes. Disse var et sæt "lette" komponenter, komponenter skrevet naturligt i Java®. Dette udvidede AWT's funktionalitet og gjorde det muligt for udviklere at oprette brugergrænseflader, der holdt deres udseende, når de blev kørt på forskellige platforme. JavaSoft startede derefter et fælles projekt med Netscape, kaldet Swing-projektet. Dette projekt resulterede i et sæt brugergrænsefladekontroller med en variation, der kan sammenlignes med den, der er tilgængelig fra nogen af operativsystemplatformerne.
Swing er et sæt letvægtskomponenter, som Sun frigav til offentligheden i kombination med flere andre funktionsforbedringer, der var beregnet til Java Development Kit (JDK) version 1.2. Denne pakke med Swing plus andre funktionsforbedringer var det, som JavaSoft kaldte Java Foundation Classes. Swing-brugergrænsefladekontrollerne er den største del af Java Foundation Classes, der også inkluderer blandt andet udskrivning, klippebord og tilgængelighedsfunktioner. JDK 1.2 inkluderer den fulde version af JFC, skønt en begrænset version blev gjort tilgængelig, der kunne bruges med den daværende aktuelle JDK 1.1.