JFC se compone de Abstract Window Toolkit (AWT), Swing y Java 2D.
Esto significa que los widgets estándar en la AWT confían en esas capacidades de los widgets nativos, requiriendo que el desarrollador también este prevenido de las diferencias entre plataformas anfitrión.
Una API de gráficos alternativa llamada Internet Foundation Classes fue desarrollada en código más independiente de la plataforma por Netscape.
Últimamente, Sun mezcló la IFC con otras tecnologías bajo el nombre "Swing", añadiendo la capacidad para un look and feel enchufable de los widgets.
Esto permite a los programas Swing mantener la base del código independiente de la plataforma, pero imita el look de la aplicación nativa.