next up previous contents
Next: State Up: Client Previous: Client   Contents

GUI

You can see a screen-shot of the applet in figure 1.
The different GUI parts are as follows:

  1. Contact List
    A list of ICQ network users. Each user-name is color-coded for their current ICQ network status:

    A Click of a mouse on one of the user-names produces that user's UIN in two fields:

  2. Login Frame
    Enables the user to insert their details in order to log in to the ICQ network.

    Includes the following GUI elements: three text fields: UIN, nick-name and ICQ password and a button titled ``login'' which starts a login process.

  3. Manage Contact List Frame
    Enables the User to add or remove users from their Contact List.

    Contains the following GUI elements: two text fields: UIN and nick-name fields, and two buttons: Add and Remove.

  4. Send Messages Frame
    Enables the user to send messages (typed in the ``Compose Message'' text area) to other ICQ users.

    Contains the following GUI elements: a text field: UIN and a ``Send Message'' Button.

  5. Action Select Frame
    Enables the user to switch between ``Send Message'' and ``Manage Contact List'' frames as well as to disconnect from the CSICQ Server.

    Contains the following GUI elements: three buttons: ``Edit Contact List'', ``Send Message'' and ``Disconnect''.

  6. Compose Message Text Area
    Enables the user to type text messages they want to send to other users. this text area is cleared when the message is sent.

  7. Status Text Area
    Shows all incoming and outgoing messages as well as other notifications.

Most of these GUI elements have a specific Event Listener Objects attached.

Those Event Listeners are invoked upon a GUI event (e.g. a button pressed), the action taken upon detecting such event depends on the current Applet state.

Almost all of these GUI elements are being inherited directly from a Swing Component (e.g. JButton, JTextArea). An exception to this ``rule'' is the Contact List, which is a combination of a GUI class and a Data Structure.


next up previous contents
Next: State Up: Client Previous: Client   Contents
Zvika Brakerski 2001-05-09