Trail: Creating a GUI with JFC/Swing
Lesson: Getting Started with Swing
About the JFC and Swing
Home Page > Creating a GUI with JFC/Swing > Getting Started with Swing
About the JFC and Swing
JFC is short for Java Foundation Classes, which encompass a group of features for building graphical user interfaces (GUIs) and adding rich graphics functionality and interactivity to Java applications. It is defined as containing the features shown in the table below.

Features of the Java Foundation Classes
 Feature  Description

Swing GUI Components

Includes everything from buttons to split panes to tables.

Pluggable Look-and-Feel Support

Gives any program that uses Swing components a choice of look and feel. For example, the same program can use either the Java or the Windows look and feel. Many more look-and-feel packages are available from various sources. As of v1.4.2, the Java platform supports the GTK+ look and feel, which makes hundreds of existing look and feels available to Swing programs.

Accessibility API

Enables assistive technologies, such as screen readers and Braille displays, to get information from the user interface.

Java 2D API

Enables developers to easily incorporate high-quality 2D graphics, text, and images in applications and applets. Java 2D includes extensive APIs for generating and sending high-quality output to printing devices.

Drag-and-Drop Support

Provides the ability to drag and drop between Java applications and native applications.

Internationalization

Allows developers to build applications that can interact with users worldwide in their own languages and cultural conventions. With the input method framework developers can build applications that accept text in languages that use thousands of different characters, such as Japanese, Chinese, or Korean.

This trail concentrates on the Swing components. We help you choose the appropriate components for your GUI, tell you how to use them, and give you the background information you need to use them effectively. We also discuss other JFC features as they apply to Swing components.

Version Note: "Swing" was the code name of the project that developed the new components. Although unofficial, it's frequently used to refer to the new components and related API. "Swing" is immortalized in the package names for the Swing API, which begin with javax.swing.

Which Swing Packages Should I Use?

The Swing API is powerful, flexible--and immense. In release 1.4 of the Java platform, the Swing API has 17 public packages:

javax.accessibility

javax.swing.plaf

javax.swing.text.html

javax.swing

javax.swing.plaf.basic

javax.swing.text.parser

javax.swing.border

javax.swing.plaf.metal

javax.swing.text.rtf

javax.swing.colorchooser

javax.swing.plaf.multi

javax.swing.tree

javax.swing.event

javax.swing.table

javax.swing.undo

javax.swing.filechooser

javax.swing.text

 

Fortunately, most programs use only a small subset of the API. This trail sorts out the API for you, giving you examples of common code and pointing you to methods and classes you're likely to need. Most of the code in this trail uses only one or two Swing packages:
Previous page: Getting Started with Swing
Next page: Compiling and Running Swing Programs