Java applied project

Goals

The students will demonstrate:

Description

The students will design and build a contact management program. The software will be able to store information for two different types of contacts:

Personal

name

address

city

province

phone number

extension

notes

Company

Name

Primary Contact Name

address

city

province

phone number

extension

notes

The information will be stored in a Vector object for easy retrieval. A JFrame will be used to display a list of Company and Personal Names.

Two Buttons will be available to create new entries: "New Company", "New Contact"

Selecting an entry will bring up a different window depending on if they selected a Company or a Person, but regardless, these windows will display the name of the contact in a JLabel, and JTextfields for the rest. A Save and Delete button will be available.

 

Design Features

The data for each entry should be placed in either a company or Person object

Due to similarities, some form of inheritance between the two data classes

Windows should be laid out properly using layout managers

In addition to the other listeners, create a Window Listener by implementing WindowListener. Most of the methods can be left blank except windowClosing( ) and windowClosed( ). In windowClosing( ) call the main window's "dispose( )" method to close the window, then in windowClosed( ) call "System.exit()" to shut the program down.

Marking Guidelines

Functional 20 marks

Program Complies and Runs

Main Window Resizable

JVM Shuts down when main window closed.

Able to view records from list

Able to add new Persons

Able to add new Companies

Able to delete Persons

Able to delete Companies

Able to edit Persons

Able to edit Companies

Design 20 marks

Proper use of listeners

void main( ) merely boots the system

Use of package keyword

Use of data classes (eg: Company)

Inheritance in use in data classes

Layout 10 marks

Proper indentation followed

Consistent brace style

Javadoc comments