Co jsou Java Foundation Classes?
Java Foundation Classes (JFC) jsou opakovaně použitelné softwarové komponenty, které lze použít k vytvoření grafického uživatelského rozhraní v aplikaci Java®. Představují vylepšení sady nástrojů dodávané se staršími verzemi Java®. Jejich cílem je zjednodušit vývoj softwaru, zkrátit dobu programování a splnit cíl vytváření aplikací, které vypadají a jednají stejně bez ohledu na typ počítače, na kterém jsou spuštěny.
JFC jsou sada komponent uživatelského rozhraní, která se rozšiřují na soupravě abstraktních oken (AWT), která byla původně dodána s programovacím jazykem Java®. Jedná se o komponenty JavaBeans ™, které jsou součástí Java 2® a jsou navrženy tak, aby byly přizpůsobitelné napříč platformami. Jejich účelem je zkrátit dobu programování poskytováním komponent, které lze znovu použít z aplikace do aplikace az platformy na platformu. Třídy nadace Java ve skutečnosti nenahrazují sadu abstraktních oken, ale jsou její součástí. Umožňují však Java® ideál „jednorázově zapisovat, běžet kdekoli“ komplexněji než původní AWT.
AWT umožňuje návrh uživatelského rozhraní, ale činí tak pomocí systému oken operačního systému, na kterém je spuštěno. To ztěžuje vytváření aplikací, které vypadají a chovají se stejně na jakékoli platformě, kvůli inherentním rozdílům ve funkcích mezi operačními systémy. AWT byla také velmi omezená v tom, že sada ovládacích prvků, které poskytovala, nebyla dostatečně široká, aby vytvořila složitá uživatelská rozhraní a pokročilé softwarové aplikace. Komponenty AWT jsou tím, co Sun Microsystems nazývá „těžká váha“, protože používají systém hostitelských oken.
Vývojáři Netscape si uvědomili omezení AWT a vytvořili sadu komponent nazvaných Internet Foundation Classes. Jednalo se o soubor „lehkých“ komponent, komponent nativně napsaných v Java®. To rozšířilo funkčnost AWT a umožnilo vývojářům vytvářet uživatelská rozhraní, která si udržovala svůj vzhled, když byla spuštěna na různých platformách. JavaSoft poté zahájil společný projekt s Netscape, nazvaný Projekt Swing. Tento projekt vyústil v sadu ovládacích prvků uživatelského rozhraní s paletou srovnatelnou s řadou dostupných na jakékoli platformě operačních systémů.
Swing je sada lehkých komponent, které společnost Sun zveřejnila v kombinaci s několika dalšími vylepšeními funkcí, která byla určena pro sadu Java Development Kit (JDK) verze 1.2. Tento balíček Swing plus další vylepšení funkcí byl tím, co JavaSoft pojmenoval Java Foundation Classes. Ovládací prvky uživatelského rozhraní Swing jsou hlavní částí tříd Java Foundation Classes, které mimo jiné zahrnují funkce tisku, schránky a usnadnění přístupu. JDK 1.2 zahrnuje plnou verzi JFC, ačkoli byla zpřístupněna omezená verze, která by mohla být použita s tehdy aktuálním JDK 1.1.