An easy to read book recommended for students taking a second level GUI design module where Java is the implementation language (assuming a first level Java programming module). Also suitable for the system implementor building GUIs with Java.
One of the most powerful Java APIs is the AWT (Abstract Windowing Toolkit), however, it is also the most complex and the majority of introductory texts describe only the most common facilities. This is a second level text (assuming a working knowledge of Java) dealing in detail with the AWT and aims at providing the skills necessary to implement applets and applications which have a GUI (Graphical User Interface).
Design is critical for assessing GUI usability level and specifying object characteristics before starting to implement code. Using a simple example application (a click counter) Chapter one designs the user interface (to increasing levels of complexity) using State Transition Diagrams (STDs) with application class diagrams described using UML (Unified Modelling language) design notation; this design methodology is then followed throughout the book. Chapter two then briefly descries the components of the AWT (Label, Button, etc.) and Chapter three presents examples extending the components to suit application requirements. The next four chapters take a Logo turtle graphics application and consider different styles of interface; first describing graphics facilities then lookingat turtle control interfaces based on buttons, pull-down menus, text menus and a command line. Chapter eight implements facilities such as undo, drawing read/save, etc. and Chapter nine discusses customisation techniques, such as allowing users to chose interface style, language, etc. At each stage there are plenty of example programs, design diagrams using STDs and UML, etc.
An easy to read book recommended for students taking a second level GUI design module where Java is the implementation language (assuming a first level Java programming module). Also suitable for the system implementor building GUIs with Java.