Wat zijn Java Foundation Classes?
Java Foundation Classes (JFC's) zijn herbruikbare softwarecomponenten die kunnen worden gebruikt om een grafische gebruikersinterface te bouwen in een Java®-toepassing. Ze zijn een verbetering van de toolkit die werd geleverd bij vroege versies van Java®. Ze zijn bedoeld om de ontwikkeling van software te vereenvoudigen, de programmeertijd te verkorten en het doel te bereiken om applicaties te maken die er hetzelfde uitzien en werken, ongeacht het type computer waarop ze worden uitgevoerd.
JFC's zijn een set gebruikersinterfacecomponenten die worden uitgebreid op de Abstract Window Toolkit (AWT) die oorspronkelijk werd geleverd met de programmeertaal Java®. Het zijn JavaBeans ™ -componenten die deel uitmaken van Java 2® en zijn ontworpen om platformoverschrijdend en aanpasbaar te zijn. Ze zijn bedoeld om de programmeertijd te verkorten door componenten te bieden die kunnen worden hergebruikt van toepassing tot toepassing en van platform tot platform. De Java Foundation Classes vervangen de Abstract Window Toolkit niet, maar maken er deel van uit. Ze maken het Java®-ideaal van "eenmaal schrijven, overal uitvoeren" echter vollediger dan de originele AWT.
De AWT maakt het ontwerpen van gebruikersinterfaces mogelijk, maar doet dit met behulp van het venstersysteem van het besturingssysteem waarop het wordt uitgevoerd. Dit maakt het moeilijk om applicaties te maken die er op elk platform hetzelfde uitzien en zich gedragen, vanwege de inherente verschillen in functies tussen besturingssystemen. AWT was ook zeer beperkt in die zin dat de set controles die het bood niet breed genoeg was om complexe gebruikersinterfaces en geavanceerde softwareapplicaties te creëren. De AWT-componenten zijn wat Sun Microsystems "zwaargewicht" noemt, omdat ze het hostvenster-systeem gebruiken.
Netscape-ontwikkelaars erkenden de beperkingen van AWT en creëerden een set componenten die de Internet Foundation Classes worden genoemd. Dit waren een set "lichtgewicht" componenten, componenten die oorspronkelijk in Java® zijn geschreven. Dit breidde de functionaliteit van AWT uit en stelde ontwikkelaars in staat om gebruikersinterfaces te creëren die hun uiterlijk behouden wanneer ze op verschillende platforms worden uitgevoerd. JavaSoft begon toen een gezamenlijk project met Netscape, het Swing-project genaamd. Dit project resulteerde in een aantal bedieningselementen voor de gebruikersinterface met een variëteit die vergelijkbaar is met die van elk van de besturingssystemen.
Swing is een set lichtgewicht componenten die Sun openbaar heeft gemaakt in combinatie met verschillende andere functieverbeteringen die bedoeld waren voor de Java Development Kit (JDK) versie 1.2. Dit pakket van Swing plus andere functieverbeteringen was wat JavaSoft de Java Foundation Classes noemde. De bedieningselementen van de Swing-gebruikersinterface vormen het grootste deel van de Java Foundation Classes, waaronder ook functies voor afdrukken, klembord en toegankelijkheid. De JDK 1.2 bevat de volledige versie van JFC, hoewel er een beperkte versie beschikbaar was die kon worden gebruikt met de toen geldende JDK 1.1.