Navigation Bar

Home Button

Column Head: About Swing

Contents of Intro Pages

Column Heading: Component APIs

Column Heading: Pluggable L&F APIs

Bar

* Release expected
later in 1997.

Download Swing Swing JavaDoc APIs JDK 1.1.3 Documentation
JDK 1.1.3 Download
JFC Web Site README

Welcome to Swing 0.4, the newest preliminary Swing release from the JavaSoft division of Sun Microsystems Inc. This release -- complete with a hefty stack of specification sheets and some example applications that show how Swing components work -- is part of a continuing effort by the Swing design team to develop the Swing component set with the active assistance of developers.

We hope that the developer community will review this set of specifications while using Swing, and will continue to supply us with feedback (see next item) so that we can incorporate ideas and suggestions from the developer community into the final Swing product at release time.


Image: MailboxAs the beta release of Swing draws near, we continue to welcome feedback from developers -- especially bug reports, which are particularly important as Swing development enters its final stages.

If you have feedback about important issues regarding Swing, please mail it to:

swing-feedback@java.sun.com

We can't promise at this late date that we'll respond personally to every feedback message. But please do send us feedback about issues that you consider really important. We'll carefully consider your ideas, remarks, suggestions, and comments.


In this release, many Swing classes have been renamed or have been relocated to subordinate packages. Consequently, this version of Swing -- Release 0.4 -- is effectively incompatible with Swing 0.3 and all other previous releases.

For developers who have written code using previous versions of Swing, we have created a utility named ClassRenamer, which you can use to update Swing programs that were written using Swing's old class names.

You can find the ClassRenamer utility in the swing-0.4/bin directory. To run it over your source files, execute a command using the following syntax:

java -classpath <swing>\bin;%CLASSPATH% *.java

ClassRenamer doesn't handle batch, shell-wrapper files, or do anything else that could be considered fancy. We've kept it simple because it's a temporary solution to a temporary problem; it will no longer be supplied once the beta release is distributed, so use it while you can.

For many more details on how Sing's new naming convention works, see the spec sheet titled "Swing Packaging (A Naming Dilemma and a Proposed Solution)."

Other noteworthy additions to this release include:

  • The JSplitPane class: a pane that can be split into frames, with separate scrollbars for each region. JSplitPane supports interactive resizing of the vertical or horizontal boundary between its two children.
  • New support for internal frames (JInternalFrame) and layered panes (JLayeredPane), which can be used to create MDI (multiple document interface) applications.
  • New JWindow and JDialog classes. Their APIs are essentially the same as that of JFrame; however, they inherit from java.awt.Window and java.awt.Dialog, respectively.
  • Dockable and floating toolbars.
  • New and improved support for FocusManager.
  • A new JRadioButtonMenuItem class.
  • Many tweaks, bug fixes, and enhancements.


Heading: What Is Swing?

Icon: Duke MascotAs everyone who keeps up with trends in Java surely must know by now, Swing is a new set of GUI components, implemented in 100% Pure Java, with a host of new features and a new "Pluggable Look and Feel" design that can make them automatically look and behave just like components that are native to whatever platform they are running on. (For more details, see the Swing Overview page.)

Swing components are based on the Lightweight UI Framework that is familiar to JDK 1.1 users. But their pluggable-look-and-feel architecture lets you easily create a single set of GUI components that can automatically implement the appearance and behavior of components designed for any OS platform -- including Windows, Solaris, Macintosh, or any customized look and feel that you might want to design.

The Swing tool set is a subset of the Java Foundation Classes (JFC), an umbrella designation for a large collection of classes designed for building visual applications in Java. (JFC includes not only the Swing component set, but also the familiar AWT (Abstract Windows Toolkit), and Java2D.) Engineering teams from JavaSoft and Netscape are working closely together to define and develop Swing, along with the rest of JFC. A migration plan is being created to help IFC developers move as quickly as possible to the JFC.

Swing components include 100% Pure Java versions of the existing AWT component set (Button, Scrollbar, List, and so on), plus a rich Pure Java set of higher-level components (such as tree-view, list-box, and tabbed-pane components).


Heading: Online Java Tutorial Features Swing

Icon: New!The next edition of The Java Tutorial, the best-selling self-guided tour of the Java programming language from JavaSoft and Addison-Wesley, will feature a brand-new section all about Swing.

Image: Tutorial CoverAnd -- guess what! You can get a sneak preview of the Tutorial's new Swing section right now! Just follow this link--

Tutorial Link Button Yes: Show me the Tutorial!

-- and then surf on over to other sections of the Tutorial that present an overview of Swing components, tips on getting started with Swing, and separate individual subsections that show how to use each Swing component.

Be sure to check the Tutorial link often (you can also find it on the home page) because it's updated frequently -- almost every day there's a new code example, a new explanation of how to do something, or something else that's new. And it's dynamically liked to this document set, so if you don't check out our Tutorial link often, you'll never know what you're missing!

The Java Tutorial is written by Mary Campione and Kathy Walrath of the Java team at JavaSoft. It is the only Java tutorial that JavaSoft officially endorses.


Heading: The Specifications

The specifications in this document package describe and illustrate the infrastructure -- that is, the underlying services and patterns -- that are the building blocks of the Swing component set. Some of the most important documents in this set are described below. Follow the links for more detailed information on each topic explored in this document set.

Swing Overview

The "Swing Overview" section of this document is a two-page description of Swing and its parts. It is recommended reading for anyone who isn't very familiar with Swing. It explains why Swing was invented, how Swing components work, and how they can help you create flexible and powerful components for your Java applets and applications.

Swing Component Architecture

The page titled "Swing Architecture" -- rewritten and expanded for this release goes into more detail about the architecture of Swing components, focusing on the features of Swing components that make their pluggable L&F capabilities possible. It describes and demonstrates the modified form of model-view-component (MVC) architecture on which all Swing components are based, and it shows how you can use Swing components in your applications.

Images and Icons

Images can be difficult to use, and up to now they haven't been persistent objects. Swing introduces a new object called a icon that can simplify the use of images and lets you create persistent images. The specification sheet titled "Icons and Fills in Swing Components" shows how you can benefit from using these new kinds of images in your programs.

Undo Capabilities

Swing provides generic support for Undo operations. The Swing Undo mechanism is general and flexible enough to extend to all types of applications. It allows the component developer to determine the appropriate granularity of operations, and it is simple to use and extend. And of course it supports JavaBeans.

Heading: Coming Soon

We are adding many new features and capabilities to Swing in the next release. Watch this space for the new features described under the headings that follow.

Other Upcoming Features:

Other Swing features that are coming soon include:

  • New common dialog classes, including Warning and Error dialogs and Color, font, and file chooser dialogs
  • Specialized text fields designed for formatted input such as currency, date, and password entries
  • Full JavaBeans support, including BeanInfo classes for all Swing components and support for serialization in all Swing components.

 

Left Arrow Top Arrow Right Arrow


Version 0.4. Last modified 9/3/97.
Copyright © 1995-97 Sun Microsystems, Inc. All Rights Reserved.

Sun Logo