Introduction Java Swing

This is an introductory Swing tutorial. The purpose of this tutorial is to get you started with the Java Swing toolkit. The tutorial has been created and tested on Linux.

About Swing

Swing library is an official Java GUI toolkit released by Sun Microsystems. It is used to create Graphical user interfaces with Java.

Swing toolkit is:

The Swing API has 18 public packages:

Swing is an advanced GUI toolkit. It has a rich set of widgets. From basic widgets like buttons, labels, scrollbars to advanced widgets like trees and tables. Swing itself is written in Java.

Swing is a part of JFC, Java Foundation Classes. It is a collection of packages for creating full featured desktop applications. JFC consists of AWT, Swing, Accessibility, Java 2D, and Drag and Drop. Swing was released in 1997 with JDK 1.2. It is a mature toolkit.

The Java platform has Java2D library, which enables developers to create advanced 2D graphics and imaging.

There are basically two types of widget toolkits:

A heavyweight toolkit uses OS's API to draw the widgets. For example Borland's VCL is a heavyweight toolkit. It depends on WIN32 API, the built-in Windows application programming interface. On Unix systems, we have a GTK+ toolkit, which is built on top of X11 library. Swing is a lightweight toolkit; it paints its own widgets. Similarly does the Qt4 toolkit.

SWT library

There is also another GUI library for the Java programming language. It is called the Standard Widget Toolkit (SWT). SWT library was initially developed by the IBM corporation. Now it is an open source project maintained by the Eclipse community. SWT is an example of a heavyweight toolkit. It lets the underlying OS to create the user interface. SWT uses the Java native interface to do the job. There is a tutorial dedicated to SWT on ZetCode.

This was an introduction to Java Swing.