This chapter introduces Java GUI programming using Swing. It discusses the motivations for using Swing over AWT, outlines the objectives to be covered, and provides examples of creating basic Swing components like buttons, labels, text fields etc. It also explains the Swing and AWT class hierarchies with Container and Helper classes.