Swing Packages and Classes

Here is a short description of each package in the Swing libraries:

javax.accessibility
Contains classes and interfaces that can be used to allow assistive technologies to interact with Swing components. Assistive technologies cover a broad range of items, from audible text readers to screen magnification. Although the accessibility classes are technically not part of Swing, they are used extensively throughout the Swing components.

javax.swing
Contains the core Swing components, including most of the model interfaces and support classes.

javax.swing.border
Contains the definitions for the abstract border class as well as eight predefined borders. Borders are not components; instead, they are special graphical elements that Swing treats as properties and places around components in place of their insets. If you wish to create your own border, you can subclass one of the existing borders in this package, or you can code a new one from scratch.

javax.swing.colorchooser
Contains support for the JColorChooser component.

javax.swing.event
Defines several new listeners and events that Swing components use to communicate asynchronous information between classes. To create your own events, you can subclass various events in this package or write your own event class.

javax.swing.filechooser
Contains support for the JFileChooser component.

javax.swing.plaf
Defines the unique elements that make up the pluggable L&F for each Swing component. Its various subpackages are devoted to rendering the individual L&Fs for each component on a platform-by-platform basis.

javax.swing.table
Provides models and views for the table component, which allows you to arrange various information in a grid format with an appearance similar to a spreadsheet. Using the lower-level classes, you can manipulate how tables are viewed and selected, as well as how they display their information in each cell.

javax.swing.text
Provides scores of text-based classes and interfaces supporting a common design known as document/view. The text classes are among the more advanced Swing classes to learn.

javax.swing.text.html
Used specifically for reading and formatting HTML text through an ancillary editor kit.

javax.swing.text.html.parser
Contains support for parsing HTML.

javax.swing.text.rtf
Used specifically for reading and formatting Rich Text Format (RTF) text through an ancillary editor kit.

javax.swing.tree
Defines models and views for a hierarchal tree component, which may represent a file structure or a series of properties.

javax.swing.undo
Contains the necessary functionality for implementing undoable functions.

By far the most widely used package is javax.swing. In fact, almost all the Swing components, as well as several utility classes, are located inside this package. The only exceptions are borders and support classes for the trees, tables, and text-based components. Because the latter components are much more extensible and often have many more classes to work with, these classes have been divided into separate packages.