Chapter 5 Semi-direct user interfaces

In this, and the following two chapters, four possible styles of user interface will be developed for the Tuttle class as developed in the previous chapter. The interface presented in this chapter is a semi-direct style of interface, where the Tuttle will be controlled from a collection of buttons below its drawing area which display iconic representations of the action which they control. This interface style is described as semi-direct as direct manipulation would allow the user to control the tuttle by selecting and manipulating it with the pointer and the mouse. For example to move the tuttle it might be selected and dragged or to turn it and a double mouse click may cause a pop-up menu to appear.

The semi-direct interface will require buttons capable of displaying icons, but the 1.1 release of the AWT does not supply a Button class which is capable of displaying an image, only one which is capable of displaying a text label. Consequently the first part of this chapter will implement a TuttleButton class which provides this facility. This will still be a valuable exercise even if a subsequent release of the AWT does supply an ImageButton class as it will consolidate the understanding of supplying specialised components, and the requirements of a TuttleButton may differ significantly from any ImageButton class which might be supplied.

This interface, and those in the following chapters, may not be the best style of interface for the control of a tuttle. They are being introduced so that the considerations and techniques for the construction of these interface styles can be used where they are the more appropriate. When all four styles of interface have been introduced the techniques which can be used to evaluate an interface will be discussed.

5.1 The TuttleButton class

Table of Contents.

A Java GUI programmer's primer
Java GUI Programmers Primer, A
ISBN: 0139088490
EAN: 2147483647
Year: 1998
Pages: 85
Authors: Fintan Culwin © 2008-2017.
If you may any questions please contact us: