请输入您要查询的百科知识:

 

词条 Internet Foundation Classes
释义

  1. History

  2. Differences from Swing

  3. Examples

     Hello World 

  4. References

  5. External links

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

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:

  • contrary to AWT, IFC were written in pure Java, thus being (at the time) browser-independent.
  • IFC already provided two Layout managers, that would be later included in the standard JDK
  • some IFC components were able to read HTML content from URLs, but the implementation was still far from reliable.

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

  • IFC did not have a Model-View architecture
  • contrary to Swing, the Look and feel of IFC components was written in the components themselves, making it impossible to change it easily.
  • IFC components were not JavaBeans. IFC had a specific persistence mechanism,[2] but it was a bit complex, and not compatible with the Java Serialization API.
  • event mechanism was still raw,[3] and the Event loop sometimes needed to be accessed directly.

Examples

Hello World

This is the classic Hello world program in IFC:

import netscape.application.*;

import netscape.util.*;

public class HelloWorld extends Application {

   public void init() {       super.init();       // Create a text field       TextField textField = new TextField(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.    public static void main(String args[]) {        HelloWorld app = new HelloWorld ();        ExternalWindow mainWindow = new ExternalWindow();
        app.setMainRootView(mainWindow.rootView());        Size size = mainWindow.windowSizeForContentSize(320, 200);        mainWindow.sizeTo(size.width, size.height);        mainWindow.show();
        app.run();    }

}

To be compared with the equivalent Java Swing code:

import javax.swing.*;

public class HelloWorld extends JFrame {

    public HelloWorld() {       setDefaultCloseOperation(DISPOSE_ON_CLOSE);       add(new JLabel("Hello, World!"));    }
    public static void main(String[] args) {        HelloWorld app = new HelloWorld();        app.pack();        app.setVisible(true);    }

}

References

1. ^{{cite web |url=http://www2.prnewswire.com/cgi-bin/stories.pl?ACCT=104&STORY=/www/story/84048&EDATE= |title=Sun and Netscape to jointly develop Java Foundation Classes |publisher=Netscape Communications Corporation |date=1997-04-02 |accessdate=2007-07-14 |deadurl=yes |archiveurl=https://web.archive.org/web/20120509230952/http://www2.prnewswire.com/cgi-bin/stories.pl?ACCT=104&STORY=%2Fwww%2Fstory%2F84048&EDATE= |archivedate=2012-05-09 |df= }}
2. ^{{cite web| url=http://infodoc.unicaen.fr/docs/Java/guide.IFC1.1/persist.mak.html#1004819| title=IFC 1.1 guide - Persistence| date=2000-06-15| accessdate=2007-07-15}}
3. ^{{cite web| url=http://infodoc.unicaen.fr/docs/Java/guide.IFC1.1/targets.mak.html#100582| title=IFC 1.1 guide - Targets and commands| date=2000-06-15| accessdate=2007-07-15}}

External links

  • IFC presentation
  • IFC runtime download
  • IFC programming guide
  • IFC class hierarchy
  • IFC tutorial

The last places, where to download the IFC:

  • ftp-Server 1 Uni-Potsdam
  • ftp-Server 2 Uni-Potsdam
  • ftp-Server 3 Uni-Potsdam
  • ftp-Server Uni-Bochum
  • ftp-Server SunSite

All find from

  • FileSearching.com

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

  • [https://web.archive.org/web/20001021124345/http://developer.netscape.com/docs/manuals/ifc/downloads/downloads.html WebArchive of the IFC-side]

Additional you can still find IFC here:

  • Server of the MIT - Nathans account
  • Server of the MIT - stuff side

4 : Java (programming language)|Java (programming language) libraries|Java APIs|Widget toolkits

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/9/22 0:52:32