Introduction to Java Swing
Swing is a Java Foundation Classes [JFC] library and an extension of the Abstract
Window Toolkit [AWT]. Swing offers much-improved functionality over AWT,
new components, expanded components features, excellent event handling with
drag and drop support.
Introduction of Java Swing
Swing has about four times the number of User Interface [UI] components as AWT
and is part of the standard Java distribution. By today’s application GUI
requirements, AWT is a limited implementation, not quite capable of providing the
components required for developing complex GUI’s required in modern commercial
applications. The AWT component set has quite a few bugs and really does take up a
lot of system resources when compared to equivalent Swing resources. Netscape
introduced its Internet Foundation Classes [IFC] library for use with Java. Its Classes
became very popular with programmers creating GUI’s for commercial applications.
Swing is a Set Of API ( API- Set Of Classes and Interfaces )
Swing is Provided to Design a Graphical User Interfaces
Swing is an Extension library to the AWT (Abstract Window Toolkit)
Includes New and improved Components that have been enhancing the looks and
Functionality of GUI’s
Swing can be used to build(Develop) The Standalone swing GUI Apps Also as
Servlets And Applets
It Employs model/view design architecture
Swing is more portable and more flexible than AWT, The Swing is built on top of
the AWT
Swing is Entirely written in Java
Java Swing Components are Platform-independent And The Swing Components
are lightweight
Swing Supports Pluggable look and feels And Swing provides more powerful
components
such as tables, lists, Scrollpanes, Colourchooser, tabbedpane, etc
Further Swing Follows MVC
Many programmers think that JFC and Swing is one and the same thing, but that is
not so.
JFC contains Swing [A UI component package] and quite a number of other items:
Cut and paste: Clipboard support
Accessibility features: Aimed at developing GUI’s for users with disabilities
The Desktop Colors Features Has been Firstly introduced in Java 1.1
The Java 2D: it has Improved colors, images, and also texts support
Features Of Swing Class
Pluggable look and feel
Uses MVC architecture
Lightweight Components
Platform Independent
Advance features such as JTable, JTabbedPane, JScollPane etc
Java is a platform-independent language and runs on any client machine, the
GUI look and feel, owned and delivered by a platform specific O/S, simply
does not affect an application’s GUI constructed using Swing components
Lightweight Components: Starting with the JDK 1.1, its AWT supported
lightweight component development. For a component to qualify as
lightweight, it must not depend on any non-Java [O/s based) system classes.
Swing components have their own view supported by Java’s look and feel
classes
Pluggable Look and Feel: This feature enables the user to switch the look
and feel of Swing components without restarting an application. The Swing
library supports components look and feel that remains the same across all
platforms wherever the program runs. The Swing library provides an API that
gives real flexibility in determining the look and feel of the GUI of an
application
Swing Classes Hierarchy
Components of Swing Class
Class Description
Component A Component is the Abstract base class for
about the non menu user-interface controls
of SWING. Components are represents an
object with graphical representation
Container A Container is a component that can
container SWING Components
JComponent A JComponent is a base class for all swing
UI Components In order to use a swing
component that inherits from JComponent,
component must be in a containment
hierarchy whose root is a top-level Swing
container
JLabel A JLabel is an object component for placing
text in a container
JButton This class creates a labeled button
JColorChooser A JColorChooser provides a pane of controls
designed to allow the user to manipulate and
select a color
JCheckBox A JCheckBox is a graphical(GUI) component
that can be in either an on-(true) or off-
(false) state
JRadioButton The JRadioButton class is a graphical(GUI)
component that can be in either an on-(true)
or off-(false) state. in the group
JList A JList component represents the user with
the scrolling list of text items
JComboBox A JComboBox component is Presents the
User with a show up Menu of choices
JTextField A JTextField object is a text component that
will allow for the editing of a single line of
text
JPasswordField A JPasswordField object it is a text
component specialized for password entry
JTextArea A JTextArea object s a text component that
allows for the editing of multiple lines of text
Imagelcon A ImageIcon control is an implementation of
the Icon interface that paints Icons from
Images
JScrollbar A JScrollbar control represents a scroll bar
component in order to enable users to Select
from range values
JOptionPane JOptionPane provides set of standard dialog
boxes that prompt users for a value or
Something
JFileChooser A JFileChooser it Controls represents a dialog
window from which the user can select a file.
JProgressBar As the task progresses towards completion,
the progress bar displays the tasks
percentage on its completion
JSlider A JSlider this class is lets the user
graphically(GUI) select by using a value by
sliding a knob within a bounded interval.
JSpinner A JSpinner this class is a single line input
where the field that lets the user select by
using a number or an object value from an
ordered sequence
Example: write a program of Jbutton: