The Application Foundation Classes (AFC) were a graphical framework for building Java-based graphical user interfaces (GUIs), developed by Microsoft and shipped as part of the Microsoft SDK for Java. AFC was based on the Abstract Window Toolkit (AWT), but its architecture made it easier to extend components to better fit user needs.
AFC components were announced to be cross-platform, but they worked better with Microsoft Java Virtual Machine,[1] and support on non-Windows platform was problematic.[2][3]
There are actually two versions of the AFC. One works with Microsoft's Java Virtual Machine that comes as part of Microsoft Internet Explorer and JDK 1.1 and another that works with the JDK 1.02. The AFC is optimized to work with Microsoft's implementation of Java and should provide higher performance and less system resource use with Microsoft's own Java implementation.
Using technologies like J/Direct (instead of JNI), Windows Foundation Classes (WFC), and Application Foundation Classes (AFC), accessing any Microsoft Windows VM specific classes may require developers to substitute similar standard technologies.
AFC is currently a Windows-only solution, and like J/Direct, it locks Java developers into Windows.