Sunday Morning, Half Day
Producing GUIs with Java
Marriott Hotel — Meeting Room 12
Fintan Culwin, South Bank University: London

The Java Foundation Classes supply a collection of user interface components. This tutorial attempts to introduce a representative selection of the most common and useful of them, showing how they can be combined to produce effective user interfaces. To accomplish this efficiently it is necessary to start with a representation of the required behavior of the interface and derive the detailed design from it.


  • provide an introductory overview of the widgets supplied by the JFC;
  • introduce the usability heuristics and style guides that can be employed in the detailed design of user interfaces;
  • show how State Transition Diagrams (STDs) can describe the required behavior of an interface;
  • introduce the Java event dispatch/ listener model;
  • introduce and illustrate layout management policies;
  • illustrate the use of STD, Class, Instance, Interface Layout and Object Interaction diagram notations;
  • illustrate the realization of detailed three-layer designs in Java;
  • introduce the resource management techniques, which improve the presentation of an interface.

Attendee Background: An intermediate level tutorial for attendees who have an initial familiarity with OO concepts and wish to develop further understanding in the context of GUI construction. Most of the exposition is at the source code level.

Presenter: Fintan Culwin is a Reader in Software Engineering Education at South Bank University: London specializing in Software Engineering and HCI, particularly in the integration of usability considerations in the earliest stages of production processes. He has published five books, including two on Java, and is currently completing a sixth on the JFC. He has published extensively on Internet issues and has presented sessions on the Web and Java at a series of international conferences including: SIGCSE, BCS HCI, ITiCSE, CHI and OOPSLA.

at a Glance
Tutorials by Track
Full Description
of all Tutorials
Final Program