Internet Foundation Classes

Last updated

The Internet Foundation Classes (IFC) is a GUI widget toolkit and graphics library for Java originally developed by Netcode Corporation and first released by Netscape Corporation on December 16, 1996.

Contents

The Java IFC was fairly close to the early versions of the Objective-C NeXTStep classes for NeXT. A builder tool was also included under the IFC umbrella that was close in spirit (but significantly limited in functionality) to NeXT's Interface Builder. This ecosystem was attractive to NeXT application developers interested in looking at the Java language.

History

On April 2, 1997, Sun Microsystems and Netscape announced their intention to combine IFC with other technologies to form the Java Foundation Classes. [1]

Ultimately, Sun merged the IFC with other technologies under the name "Swing", adding the capability for a pluggable look and feel of the widgets.

Because its technology has been merged to constitute Swing and Java 2D, IFC is now no longer maintained.

Differences from Swing

Swing drew a lot of features from IFC:

However, Swing also improved IFC in a lot of ways:

Examples

Hello World

This is the classic Hello world program in IFC:

importnetscape.application.*;importnetscape.util.*;publicclassHelloWorldextendsApplication{publicvoidinit(){super.init();// Create a text fieldTextFieldtextField=newTextField(100,24,128,24);// Set the string to be displayed in the text field.textField.setStringValue("Hello World");// Add the text field to the view hierarchy.mainRootView().addSubview(textField);}// This method allows HelloWorld to run as a stand alone application.publicstaticvoidmain(Stringargs[]){HelloWorldapp=newHelloWorld();ExternalWindowmainWindow=newExternalWindow();app.setMainRootView(mainWindow.rootView());Sizesize=mainWindow.windowSizeForContentSize(320,200);mainWindow.sizeTo(size.width,size.height);mainWindow.show();app.run();}}

To be compared with the equivalent Java Swing code:

importjavax.swing.*;publicclassHelloWorldextendsJFrame{publicHelloWorld(){setDefaultCloseOperation(DISPOSE_ON_CLOSE);add(newJLabel("Hello, World!"));}publicstaticvoidmain(String[]args){HelloWorldapp=newHelloWorld();app.pack();app.setVisible(true);}}

References

  1. "Sun and Netscape to jointly develop Java Foundation Classes". Netscape Communications Corporation. 1997-04-02. Archived from the original on 2012-05-09. Retrieved 2007-07-14.
  2. "IFC 1.1 guide - Persistence". 2000-06-15. Archived from the original on 2006-11-25. Retrieved 2007-07-15.
  3. "IFC 1.1 guide - Targets and commands". 2000-06-15. Archived from the original on 2006-11-25. Retrieved 2007-07-15.

The last places, where to download the IFC:

All find from

The web-archive where is the last place to find really all files:

Additional you can still find IFC here: