FAQs


What are the Java Foundation Classes?
What is the difference between JFC and AWT?
How is the JFC different from other framework classes from third-parties?
Are the Java Foundation Classes easy to use?
How do the Java Foundation Classes make developers' lives easier?
Are the Java Foundation Classes supported by major Java tools vendors?
Do the Java Foundation Classes run better on one platform than others?
What specific components are available in JFC?
What specific foundation services are available in JFC?
What does the JFC-based application user interface look like?
What is the difference between lightweight components and peerless components?
What does JFC cost?
What is Swing?
What is Java Accessibility?
What is Java 2D?
Why was the Java look and feel developed?
Are other native look and feel designs available?
Why is there a locking mechanism on the Windows look and feel?

Questions and Answers

Q: What are the Java Foundation Classes?
A: The Java Foundation Classes (JFC) are a comprehensive set of GUI components and services which dramatically simplify the development and deployment of commercial-quality desktop and Internet/Intranet applications.

Q: What is the difference between JFC and AWT?
A: The Java Foundation Classes are a superset that contains AWT. JFC extends AWT by adding many components and services.

Q: How is JFC different from other framework classes from third parties?
A: There are six main differences:

  1. No need to bundle. Java Foundation classes are core to the Java 2 Platform.
  2. JavaBeans components. All JFC components are JavaBeans components. JFC components have all the benefits that JavaBeans components offer -- reusability, interoperability, and portability. For more information on JavaBeans visit here .
  3. There is no framework lock-in. Developers can easily bring in other third-party JavaBeans components to enhance their applications written using JFC. JFC offers an open architecture.
  4. Truly cross-platform. Being part of the Java Platform, all JFC components and services are designed to work everywhere. For example, Drag and Drop services within JFC work the same between the Java Platform and all operating systems. While third-party vendors might be able to implement certain components to be cross-platform, only Sun can make sure that foundation services behave consistently across all Java-Compatible Platforms.
  5. Fully customizable. Developers can easily extend these components to create other more customized components. In addition, even the look and feel of these components can be change by either developers or users through the Pluggable Look and Feel architecture in JFC.
  6. Not just components. In addition to components, Java Foundation Classes include foundation services such as Java 2D. These services significantly enhance the type of applications developers can build.

Q: Are the Java Foundation Classes easy to use?
A: Not being a port from a different environment, the Java Foundation Classes conform 100% with Java's object and component model. Developers find JFC a very easy and natural extension to the Java Platform.

Q: How do the Java Foundation Classes make developers' lives easier?
A: The Java Foundation Classes substantially reduces the amount of programming needed by providing many reusable and cross-platform UI components.

In addition, foundation services offered in JFC enable developers to build richer solutions with fewer lines of code. The last and most important point is that developers don't have to worry that their application will only perform well on one platform. JFC is designed to be 100% cross-platform.

Q: Are the Java Foundation Classes supported by major Java tools vendors?
A: Absolutely; we have close relationships with all the major Java development environment vendors. As part of the Java Platform, JFC is available in all major Java development tools. A listing of tool providers can be found on this site under the product directory.

Q: Do the Java Foundation Classes run better on one platform than others?
A: Because the Java Foundation Classes are designed to be truly cross-platform, they run equally well on all Java Compatible Platforms.

Q: What specific components are available in JFC?
A: The JFC/Swing components can be divided into two groups -- those that provide improved, JFC/Swing versions of AWT components, and those that are new.

Q: What specific foundation services are available in JFC?
A: Available for JDK 1.1 and in the Java 2 Platform:

  • Swing components (listed above)
  • Pluggable look and feel
  • Accessibility: support for people with disabilities

Available only in the Java 2 Platform:

  • Java 2D API
  • Drag and drop

For specific details on each feature, visit The Swing Connection at

here

Q: What does a JFC-based application user interface look like?
A: Applications built using JFC are not locked in to a specific look and feel. Using JFC, developers can create apps that either have a native platform look and feel or use the Java look and feel -- or they can create their own custom look and feel. The power lies in the hands of developers -- they can develop their products using the look and feel that is most appropriate for their users.

Q: What is the difference between lightweight components and peerless components?
A: They are the same thing. These are just two term that describe the attributes of JFC components.

Q: What does JFC cost?
A: Nothing! Sun does not charge for the use or distribution of JFC.

Q: What is Swing?
A: Swing is the project code name for the lightweight GUI components in JFC.

Q: What is Java Accessibility?
A: As part of JFC, the Accessibility API enables Java applications to work with alternate input and output devices such as Screen Readers, Screen Magnifiers, Braille terminals, and others. The Accessibility API takes the current Java system that is visually oriented and extends it to be usable by people who need to work with other non-visual devices. We are truly taking "Write Once, Run Anywhere" to another level by extending the benefits of Java Computing to users with disabilities.

Q: What is Java 2D?
A: With Java 2D, developers can render, manipulate, and transform complex 2D images and text. Java 2D enables the creation of richer-looking components and applications.

Q: Why was the Java look and feel developed?
A: To provide a common interface for developers who are deploying applications and services in a heterogeneous computing environment.

Q: Are other native look and feel designs available?
A: Yes. The Java 2 Platform, SE, provides pluggable look-and-feel implementations for the Windows and UNIX platforms. Other look and feels are available, as well.

Q: Why is there a locking mechanism on the Windows look and feel?
A: We have not determined that we have the right to deliver the Windows look and feel on platforms other than Windows. If Microsoft were to confirm our right to deliver this look and feel on other operating systems, we would be delighted to remove the lock. To date, Microsoft has declined to do this.


Swing versions
of AWT components
New components
labels
text fields
buttons
check boxes
radio buttons
combo boxes ( Choice in AWT)
lists
text areas
scroll panes and scroll bars
panels
frames
dialogs
menus and menu bars
tool tips
sliders
tables
trees
styled text areas
progress bars
spinners (as of 1.4)
formatted text fields (as of 1.4)
color choosers
file choosers
split panes
tabbed panes
internal frames
layered panes
Related Links
 


Oracle is reviewing the Sun product roadmap and will provide guidance to customers in accordance with Oracle's standard product communication policies. Any resulting features and timing of release of such features as determined by Oracle's review of roadmaps, are at the sole discretion of Oracle. All product roadmap information, whether communicated by Sun Microsystems or by Oracle, does not represent a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. It is intended for information purposes only, and may not be incorporated into any contract.



Left Curve
Java SDKs and Tools
Right Curve
Left Curve
Java Resources
Right Curve
JavaOne Banner Java 8 banner (182)