Programming has become more interactive with Java 2D
API. You can add images, figures, animation to your GUI and
even pass visual information with the help of Java 2D API. You can easily use 2D
within Swing components such as drop shadows since Swing is built on
Pluggable Look and Feel
The Java Swing supports the plugging between the look and feel features. The look and feel that means the dramatically changing in the component like JFrame, JWindow, JDialog etc. for viewing it into the several types of window. You can create your own look and feel using Synth package. There are many of existing look and feels which are available to Swing programs provided by GTK+ look and feel. Moreover, the look and feel of the platform can be specified by the program while running and also to use Java look and feel can be specified by it.
The pluggable look and feel indicates that the whole look of the GUI element can be changed i.e. both the visual representation and behavior of a GUI can be changed at the time of display of the component. The new object which is created by the Swing application i.e. a new button by instantiating the JButton class already knows that how to react to mouse movements and mouse clicks. Some tasks are only performed by certain specialized classes like mouse handling that is why there is no need to change the code to modify the look. However, if the code is contained by the button itself that creates its visual representation then this code would be required to be changed to modify the look and feel of the GUI. Due to this reason only Swing provides custom look and feel.
Lets tweak the example below that shows how pluggable look and feel affects programming.
Output of the program: