Microsoft HomeProductsSearchSupportShopWrite Usspacer.gif Microsoft Home
Release Notes
  In this topic
 

Release Notes   Release Notes
Application Foundation Classes   Introduction

 


Microsoft's Application Foundation Classes (AFC) are a comprehensive set of Java class libraries providing user interface controls, graphics and effects classes and the ability to create and extract cabinet (CAB) files. AFC's UI controls give Java developers a rich set of UI elements from which they can quickly build flexible, modern and powerful user interfaces for their applications, enhanced by the innovative graphics techniques exposed for the first time by the Fx graphics and effects classes. Developers can, through the Java CAB APIs, utilize Microsoft's CAB packaging and compression technology on any virtual machine.

Written in Java, AFC ensures that applications built using these classes run on the most popular platforms supporting Java. The AFC UI controls are defaulted to the Windows UI, and are also are fully customizable to reflect the needs of application and applet designers. AFC supports Active Accessibility for Java, so any application developed using AFC is automatically accessibility-enabled. AFC comprises:

  • UI: A rich suite of UI controls, written in Java. UI controls will run in a number of popular browsers and are automatically accessibility-enabled.

  • Fx: A suite of classes for graphics and effects, written in Java. Fx classes will run in a number of popular browsers.

  • CAB: A suite of Java APIs for creating and extracting cabinet files on any virtual machine.

Known Issues for AFC

  • Platforms and JDK 1.1 and 1.02 compatibility: AFC's UI and Fx classes are JDK 1.1 compatible, and run with Microsoft's JDK 1.1-compatible VM, shipping with Internet Explorer and the Microsoft SDK for Java Version 2.0.  

In addition, Microsoft will be shipping the redistributable components of AFC as AFC102.ZIP shortly after its SDK 2.0 for Java. AFC102.ZIP will contain a version of AFC that is fully JDK 1.02-compatible, and has been tested on popular JDK 1.02-compatible browsers on Win32 and other platforms. A license agreement provided with AFC102.ZIP will give full licensing and redistribution details, and any differences affecting developers between the 1.02 and 1.1 versions of AFC will be described in accompanying documentation. Watch http://www.microsoft.com/java/sdk for the latest details.

  • JDK 1.1 and 1.0.2 event models: AFC supports both the JDK 1.1 and JDK 1.0.2 event models. Please consult the AFC API documentation and articles on http://www.microsoft.com/java/ for implementation details.

  • AWT/ UI interoperability: In this release, bi-directional interoperability between UI and AWT is provided, enabling AWT components to be used in AFC containers and vice versa.

Please note: As AwtUI and UIAwt objects are intended only to provide a bridge between AWT and AFC, use of AwtUI and UIAwt should be confined to situations where a bridge is necessary and beyond this should be limited to prevent performance degradation and to permit the full benefits of AFC to be realized.
AFC's API documentation and articles on http://www.microsoft.com/java/ give further implementation details.
  • Class library changes: A list of class library changes between Beta 2 and final release is provided on http://www.microsoft.com/java/afc .

  • Drag and Drop: Drag and drop does not currently function correctly in AFC. This is a bug, and will be fixed for our next release. In the meantime, the AFC samples demonstrate a drag and drop workaround which takes advantage of the AFC/AWT bridge in the 'Viewers Sample Applet' sample. Source code for the workaround is provided as part of the sample.

  • Hot tracking has been disabled for this release.

  • FxStyledPen has a supported width of one pixel for this release.

  • UIEdit: Multiple font support and vertical writing are not available in this release. FxFormattedText provides multiple font and vertical writing support, but this functionality is not directly available as part of our UIEdit control.

  • Serialization: AFC's UI package is not serialized by default for this release. It is possible to add this functionality yourself if you require your components to be serialized.

  • Layout Managers: Some method names in AFC's UILayoutManager class have changed.

From
To
public Dimension minimumLayoutSize(IUIContainer parent) public Dimension getMinimumSize(IUIContainer parent)
public Dimension preferredLayoutSize(IUIContainer parent) public Dimension getPreferredSize(IUIContainer parent)
public void layoutContainer(IUIContainer parent) public void layout(IUIContainer parent, Rectangle rect)

 



Top © 1997 Microsoft Corporation. All rights reserved. Terms of use.