This book contains an introduction to the systematic development of Graphical User Interfaces (GUIs) using the Java environment. It does not attempt to introduce the Java language and it is assumed that the reader has some familiarity with Object Oriented Development (OOD) and its practical expression in Java. Suitable resources to assist with obtaining this knowledge are given in Appendix A. However, a brief explanation of some aspects of Java will be presented where appropriate, particularly where the aspect differs significantly from C++.
The Java Development Kit (JDK), also known as the Java environment, consists of a Java compiler producing Java bytecode which can be interpreted by a run time engine, for example Sun's appletviewer, to run Java programs. However the substantive part of the environment consists of the extensive collection of packages, classes and interfaces collectively known as the Java Application Programmer Interface (API). The most important part of the API, so far as this book is concerned, is the Abstract Windowing Toolkit (AWT) containing the user interface components from which GUIs are constructed.
In this book whenever a Java reserved word is used this bold alternative font will be used. The alternative font by itself will indicate the use of an API resource and an italic alternative font for developer supplied Java resources. The italicised normal font will be used when a new technical term is introduced for the first time or when its meaning is significantly extended. This italicised font is also used when a design fragment is referred to which cannot be identified by a corresponding Java term. A similar convention is used in program listings where this bold font indicates Java's reserved words, italic font indicates developer supplied resources and normal font Java API resources.
This first, introductory, chapter introduces the systematic development of Graphical User Interfaces which a user can interact with in order to control an underlying application. This is done by the exposition of the development process involved in the construction of a relatively trivial application. The considerations, stages and procedures involved may seem to be far too complex for this application's requirements. However the processes presented in this chapter are essential for the successful development of more complex GUIs and it is only by practising and perfecting these skills on relatively simple applications that they can be successfully applied to more complex ones.
1.1 The ClickCounter application class
Table of Contents.