COSC 303                            Large Systems Design                            Spring, 2006

Lab 7: GUI Design and Implementation

Chat phases 5 and 6


This lab should be done in pairs.

Introduction

Review the book code for Chat phase 5. Sketch a class diagram for the Client-side GUI. We will add a couple features to this GUI and then add the DrawPad feature (Exercise E149).


1. The book's solution for Phase 5 has the interaction for login take place on the main GUI screen. Change this so that the GUI uses a dialog window to get the user name and password. (This corresponds to at least one of the designs described in class.)

2. The book's solution requires the user to type in the "#channel channelname" command, rather than having a control for this command in the GUI. Change this so that there is a control (button or menu item) and a dialog box is used to get the chanel name.

3. Incorporate the DrawPad feature into the chat room, as described in exercise E149.

4. Extra credit: Simplify the control classes used for the menu and buttons by consolidating those that simply release a command with no argument into a single class that uses appropriate constructor parameters to represent the command string that is sent.


Deliverables

A design diagram that shows the book's solution and the changes made to do step 1-3 (optionally 4) above.

Code that meets the new specifications.