Swing and the Abstract Windowing Toolkit

Because Java is a cross-platform language that enables you to write programs for many different operating systems, its windowing software must be flexible. Instead of catering only to the Microsoft Windows-style of windowing or the Apple Macintosh version, it must handle both along with other platforms. With Java, the development of a program's user interface is based on two sets of classes: the Abstract Windowing Toolkit and Swing. These classes enable you to create a graphical user interface and receive input from the user. Swing and the Abstract Windowing Toolkit include everything you need to write programs that use a graphical user interface, which is also called a GUI (pronounced gooey, as in Huey, Dewey, and Louie). With Java's windowing classes, you can create a GUI that includes all of the following and more:

  • Buttons, check boxes, labels, and other simple components
  • Text fields, sliders, and other more complex components
  • Pull-down menus and pop-up menus
  • Windows, frames, dialog boxes, and applet windows

During this hour and the next, you will create and organize graphical user interfaces in Java. Afterwards in Hour 15, "Responding to User Input," you will enable those interfaces to receive mouse clicks and other user input.