Created by dovari.sudheerkiran@gmail.com
The Java Swing tutorial
Introduction
First Programs
Menus and Toolbars
Swing Layout Management
Swing Events
Swing Dialogs
Basic Swing Components
Basic Swing Components II
Swing models
Drag and Drop
Drawing
Resizable component
Puzzle
Tetris
For more information http://www.computertech-dovari.blogspot.com
Introduction to the Java Swing Toolkit
About this tutorial
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.
The main characteristics of the Swing toolkit
• platform independent
• customizable
• extensible
• configurable
• lightweight
Swing consists of the following packages
• javax.swing
• javax.swing.border
• javax.swing.colorchooser
• javax.swing.event
• javax.swing.filechooser
• javax.swing.plaf
• javax.swing.plaf.basic
• javax.swing.plaf.metal
• javax.swing.plaf.multi
• javax.swing.plaf.synth
• javax.swing.table
• javax.swing.text
• javax.swing.text.html
For more information http://www.computertech-dovari.blogspot.com
Created by dovari.sudheerkiran@gmail.com
• javax.swing.text.html.parser
• javax.swing.text.rtf
• javax.swing.tree
• javax.swing.undo
Swing is probably the most advanced toolkit on this planet. It has a rich set of widgets.
From basic widgets like Buttons, Labels, Scrollbars to advanced widgets like Trees and
Tables.
Swing is written in 100% 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.
• Lightweight
• Heavyweight
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 GTK+ toolkit, which is built on top of
X11 library. Swing is a lightweight toolkit. It paints it's own widgets. It is in fact the only
lightweight toolkit I know about.
SWT library
There is also another GUI library for the Java programming language. It is called SWT. The
Standard widget toolkit. The SWT library was initially developed by the IBM corporation.
Now it is an open source project, supported by IBM. The SWT is an example of a
heavyweight toolkit. It lets the underlying OS to create GUI. SWT uses the java native
interface to do the job. The main advantages of the SWT are speed and native look and feel.
The SWT is on the other hand more error prone. It is less powerful then Swing. It is also
quite Windows centric library.
For more information http://www.computertech-dovari.blogspot.com
Java Swing first programs
In this chapter, we will program our first programs in Swing toolkit. The examples are going
to be very simple. We will cover some basic functionality.
Our first example
In our first example, we will show a basic window.
import javax.swing.JFrame;
public class Simple extends JFrame {
public Simple() {
setSize(300, 200);
setTitle("Simple");
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
Simple simple = new Simple();
For more information http://www.computertech-dovari.blogspot.com
Created by dovari.sudheerkiran@gmail.com
simple.setVisible(true);
}
}
While this code is very small, the application window can do quite a lot. It can be resized,
maximized, minimized. All the complexity that comes with it has been hidden from the
application programmer.
import javax.swing.JFrame;
Here we import the JFrame widget. It is a toplevel container, which is used for placing other
widgets.
setSize(300, 200);
setTitle("Simple");
This code will resize the window to be 300px wide and 200px tall. It will set the title of the
window to Simple.
setDefaultCloseOperation(EXIT_ON_CLOSE);
This method will close the window, if we click on the close button. By default nothing
happens.
For more information http://www.computertech-dovari.blogspot.com