Die Java Foundation Classes (JFC) sind ein Framework zur Erstellung grafischer Benutzeroberflächen in Java. Die Java Foundation Classes werden durch folgende Features definiert: Swing-GUI-Komponenten, Pluggable Look-and-Feel Support, Accessibility, Java 2D und Internationalisierung (i18n).[1] Gemeinsam stellen diese die Basis für plattformunabhängige Smart Client Java GUIs, unabhängig davon, ob das darunterliegende Betriebssystem Windows, Sun Solaris oder Linux ist. Für die meisten aktuellen Betriebssysteme gibt es ebenfalls Implementierungen.